Ho una classe con due costruttori che assomigliano a questo:CA1062: ValidateArgumentsOfPublicMethods sulla co-costruzione chiama
public MyClass(SomeOtherClass source) : this(source, source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }
Quando eseguo FxCop, si segnala correttamente una violazione della CA1062: ValidateArgumentsOfPublicMethods, perché se source
è null
nel primo costruttore, getterà un NullReferenceException
su source.Name
.
C'è un modo per correggere questo avviso?
Potrei creare un metodo di estensione che controlli null e restituisca il suo argomento, ma sarebbe brutto. Inoltre, come ho capito, non risolverebbe l'avviso perché FxCop non si renderebbe conto di ciò che fa.
Sì, è tutto. Puoi anche usare qualsiasi metodo statico. – Groo