次のような2つのコンストラクターを持つクラスがあります。
public MyClass(SomeOtherClass source) : this(source, source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }
FxCopを実行すると、CA1062:ValidateArgumentsOfPublicMethodsの違反が正しく報告されます。これsource
はnull
、が最初のコンストラクターにある場合、をスローするためです。NullReferenceException
source.Name
この警告を修正する方法はありますか?
nullをチェックしてその引数を返す拡張メソッドを作成することはできますが、それは醜いでしょう。また、私が理解しているように、FxCopはそれが何をするのかを理解しないので、警告を解決しません。