我有几个类,它们的字段只能通过反射赋值或使用。因此,这些字段会导致以下警告:
CS0169: The field [...] is never used
CS0649: Field [...] is never assigned to, and will always have its default value 0
一种解决方案是,在所有这些类上使用SuppressMessageAttribute,但这似乎并不干净,因为相关类已经有一个自定义属性。
我更喜欢这样的东西:
[KeepMyFields]
class SomeClass
{
int usedField;
}
class KeepMyFieldsAttribute : System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
{
// [...]
}
但是,SuppressMessageAttribute是密封的。除了将代码片段添加到每个相关类之外,我还有什么其他选择?定制的MSBuild任务是否合适,或者有没有更简单的方法?
发布于 2017-02-25 08:25:48
如果您正在寻找“干净”的解决方案,您可以在整个项目中,在项目构建选项中抑制此类型的所有警告:
当然,这也会隐藏对其他类的警告(您可能不希望这样做),但您可以将所有有问题的类移动到一个单独的项目中,并对其应用此设置。
https://stackoverflow.com/questions/37630554
复制相似问题