我刚刚将一个解决方案从.NET框架4.8升级到了.NET 6。
\<Nullable>enable\</Nullable>
镇压所有这些人安全吗?
警告CS8600将空文本或可能的空值转换为非空类型。
警告CS8601可能的空引用赋值。
警告可能为空引用的CS8602解除引用。
警告CS8603可能返回空引用。
警告CS8604参数可能为空引用参数
警告CS8618非空字段“”退出构造函数时必须包含非空值.考虑将该字段声明为可空。
警告参数'WaitCallback‘的参数'state’类型的引用类型的空值与目标委托‘WaitCallback’不匹配(可能是因为可空属性)。
警告CS8625不能将空文字转换为非空引用类型.
发布于 2022-08-10 09:43:59
是否可以安全地压制所有这些病毒?
安全是主观的。它将一如既往地工作;相同的空引用错误将存在于警告或不带警告(如果您总是完美的话,这些错误的数量可能为零),因此,如果没有.NET框架上的警告,您会很高兴:您可以禁用它。
这些警告正在试图帮助您,但我确实承认,在现有的大型代码库上启用它时,它可能会是压倒一切的。如果这有帮助的话,这个选项也可以通过#nullable enable / #nullable disable逐个文件控制。就我个人而言,我发现花时间处理警告和修复任何问题是值得的(这通常意味着通过添加一个?将某些字段/参数/局部变量标记为可空)-但是:这取决于您是否决定不这样做--是否意味着在将来做它,还是永远不做。
https://stackoverflow.com/questions/73303968
复制相似问题