Microsoft Code Analysis的CA1062规则检查引用类型参数未与null
一起传递。
为什么这只检查可公开访问的方法?不应该检查内部和私人方法吗?如何保证内部方法不会传递null参数?
我问,因为我注意到Reflector / ILSpy在Roslyn September 2012 CTP中,各种语法节点的internal
构造函数(请参阅SyntaxList
类)不检查空参数,而语法节点的public
工厂方法会检查空参数。在这种情况下,Microsoft如何保证SyntaxList
构造函数的内部用法不传递null?
答案 0 :(得分:1)
在这种情况下,Microsoft如何保证SyntaxList构造函数的内部用法不传递null?
大概是因为他们有测试意味着他们对自己的代码充满信心。如果您验证了所有输入,并且您确信自己的代码是正确的,那么您可以确信您对内部 API的调用具有有效输入。
当然,实现中可能存在错误,并且它会生成或允许将无效输入传递给某个内部方法。如果你想对内部调用进行更多验证,那很好。但是,在公共API级别,验证是最重要的。