【发布时间】:2023-03-30 19:20:01
【问题描述】:
Microsoft 的documentation for nullable reference types 解释说,可空上下文是两个独立二进制区别的交叉产物:可空注释上下文可以启用或禁用,可空警告上下文可以启用或禁用。但是我很难理解为什么一个可以为空的上下文启用而另一个禁用。
我最好的解释是,这可以追踪生产者与消费者的区别。也就是说,X 中启用的注释上下文允许使用 X 的 Y 在 Y 的启用警告上下文中具有有意义的警告。或者换一种说法,如果我想改进对我的代码用户的警告(无论是我自己代码的另一部分中的我还是使用我创建的库的另一个人),我应该启用注释上下文,我应该如果我想确保对他人创建的代码进行适当的检查,无论该代码是否已正确注释,请启用警告上下文。当然,理想情况下,一个人可能应该两者都做,但一个人可能会优先考虑其中一个。
这是正确的思考方式吗?
【问题讨论】:
标签: c# nullable-reference-types