我有几个类只有通过反射分配或使用的字段。因此,这些字段会导致以下警告:
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任务可能适合,还是有更简单的方法?