У меня есть класс с двумя конструкторами, которые выглядят так:
public MyClass(SomeOtherClass source) : this(source, source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }
Когда я запускаю FxCop, он правильно сообщает о нарушении CA1062: ValidateArgumentsOfPublicMethods , потому что, если source
равно null
в первом конструкторе, он выдаст NullReferenceException
в source.Name
.
Есть ли способ исправить это предупреждение?
Я мог бы создать метод расширения, который проверяет нулевое значение и возвращает его аргумент, но это было бы ужасно. Кроме того, насколько я понимаю, предупреждение не будет устранено, поскольку FxCop не поймет, что он делает.