CA1025: Replace repetitive arguments with params array
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
CheckId |
ca1025 |
Category |
Microsoft.تصميم |
تعطيل تغيير |
غير فاصلة |
السبب
أسلوب عام أو محمية في نوع عام يحتوي على معلمات المزيد ثلاثة، و به المعلمات الثلاث الأخيرة هي نفس النوع.
وصف القاعدة
استخدام صفيفة معلمات بدلاً من الوسيطات المتكررة عند عدد الوسيطات غير معروف والوسيطات متغير نفس النوع، أو يمكن تمرير كنفس النوع. على سبيل المثال، WriteLineيوفر أسلوب التحميل الزائد العام يستخدم صفيفة معلمة إلى قبول أي عدد من Objectالوسيطات.
كيف إلى الإصلاح انتهاكات
إلى إصلاحه انتهاكا لهذه قاعدة، قم باستبدال الوسائط مكررة صفيفة معلمات.
عند إلى منع التحذيرات
هو اﻷمن دوماً لمنع ظهور تحذير من القيم بالموضع هو قاعدة؛ ومع ذلك، th هو قد يتسبب الاستخدام في تصميم هو sues.
مثال
يظهر المثال التالي هو نوع من انتهاك هذه قاعدة.
using System;
namespace DesignLibrary
{
public class BadRepeatArguments
{
// Violates rule: ReplaceRepetitiveArgumentsWithParamsArray.
public void VariableArguments(object obj1, object obj2, object obj3, object obj4) {}
public void VariableArguments(object obj1, object obj2, object obj3, object obj4, object obj5) {}
}
public class GoodRepeatArguments
{
public void VariableArguments(object obj1) {}
public void VariableArguments(object obj1, object obj2) {}
public void VariableArguments(object obj1, object obj2, object obj3) {}
public void VariableArguments(params Object[] arg) {}
}
}