CA1062: ValidateArgumentsOfPublicMethods on co-constructor calls
.net, c#, ca1062, constructor, fxcop
Solution
Like this?
public MyClass(SomeOtherClass source) : this(source, source == null ? null : source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }
Problem
I have a class with two constructors that look like this: ``` public MyClass(SomeOtherClass source) : this(source, source.Name) { } public MyClass(SomeOtherClass source, string name) { /* ... */ } ``` When I run FxCop, it correctly reports a violation of CA1062: ValidateArgumentsOfPublicMethods, because if `source` is `null` in the first constructor, it will throw a `NullReferenceException` on `source.Name`. Is there any way to fix this warning? I could make an extension method that checks for null and returns its argument, but it would be ugly. Also, as I understand, it wouldn't resolve the warning because FxCop wouldn't realize what it does.