【发布时间】:2016-06-04 13:01:54
【问题描述】:
我有几个类的字段只能通过反射分配或使用。因此,这些字段会导致以下警告:
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 是密封的。除了向每个相关类添加代码 sn-p 之外,我还有哪些其他选择?自定义 MSBuild 任务是否合适,或者有更简单的方法吗?
【问题讨论】:
-
那里提出的解决方案是在每个类中添加
#pragma。这似乎不是一种干净的方式,将所有字段转换为属性也不是。
标签: c# code-analysis