gpt4 book ai didi

c# - CA1062:共同构造函数调用上的 ValidateArgumentsOfPublicMethods

转载 作者:太空狗 更新时间:2023-10-29 18:24:15 26 4
gpt4 key购买 nike

我有一个包含两个构造函数的类,如下所示:

public MyClass(SomeOtherClass source) : this(source, source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }

当我运行 FxCop 时,它会正确地报告违反 CA1062: ValidateArgumentsOfPublicMethods ,因为如果第一个构造函数中的 sourcenull,它将在 source.Name 上抛出 NullReferenceException

有什么办法可以解决这个警告吗?

我可以创建一个扩展方法来检查 null 并返回它的参数,但这会很丑陋。此外,据我所知,它不会解决警告,因为 FxCop 不会意识到它的作用。

最佳答案

像这样?

public MyClass(SomeOtherClass source) : this(source, source == null ? null : source.Name) { }
public MyClass(SomeOtherClass source, string name) { /* ... */ }

关于c# - CA1062:共同构造函数调用上的 ValidateArgumentsOfPublicMethods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1059654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com