我有一个有两个构造函数的类,如下所示:
public MyClass(SomeOtherClass source) : this(source, source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }
当我运行 FxCop 时,它正确报告了违反CA1062: ValidateArgumentsOfPublicMethods,因为如果source
在null
第一个构造函数中,它会抛出一个NullReferenceException
on source.Name
。
有什么办法可以解决这个警告吗?
我可以创建一个扩展方法来检查 null 并返回它的参数,但它会很难看。此外,据我了解,它不会解决警告,因为 FxCop 不会意识到它的作用。