Ca1025: Sostituire gli argomenti ripetitivi con una matrice di parametri
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
CheckId |
CA1025 |
Category |
Microsoft.Design |
Breaking Change |
Non sostanziale |
Causa
Un metodo pubblico o protetto in un tipo pubblico presenta più di tre parametri e i relativi ultimi tre parametri sono dello stesso tipo.
Descrizione della regola
Utilizzare una matrice di parametri anziché argomenti ripetuti quando non si conosce il numero esatto di argomenti e gli argomenti variabili sono, o possono essere passati, dello stesso tipo. Ad esempio, il metodo WriteLine fornisce un overload di scopo generale che utilizza una matrice di parametri per accettare qualsiasi numero di argomenti Object.
Come correggere le violazioni
Per correggere una violazione di questa regola, sostituire gli argomenti ripetuti con una matrice di parametri.
Esclusione di avvisi
L'esclusione di un avviso da questa regola è sempre sicura, tuttavia questa progettazione potrebbe causare problemi di utilizzabilità.
Esempio
Nell'esempio riportato di seguito viene illustrato un tipo che viola questa regola.
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) {}
}
}