首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >抑制CS0169和CS0649

抑制CS0169和CS0649
EN

Stack Overflow用户
提问于 2016-06-04 21:01:54
回答 1查看 2.2K关注 0票数 4

我有几个类,它们的字段只能通过反射赋值或使用。因此,这些字段会导致以下警告:

代码语言:javascript
运行
复制
CS0169: The field [...] is never used
CS0649: Field [...] is never assigned to, and will always have its default value 0

一种解决方案是,在所有这些类上使用SuppressMessageAttribute,但这似乎并不干净,因为相关类已经有一个自定义属性。

我更喜欢这样的东西:

代码语言:javascript
运行
复制
[KeepMyFields]
class SomeClass
{
    int usedField;
}

class KeepMyFieldsAttribute : System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
{
    // [...]
}

但是,SuppressMessageAttribute是密封的。除了将代码片段添加到每个相关类之外,我还有什么其他选择?定制的MSBuild任务是否合适,或者有没有更简单的方法?

EN

回答 1

Stack Overflow用户

发布于 2017-02-25 08:25:48

如果您正在寻找“干净”的解决方案,您可以在整个项目中,在项目构建选项中抑制此类型的所有警告:

当然,这也会隐藏对其他类的警告(您可能不希望这样做),但您可以将所有有问题的类移动到一个单独的项目中,并对其应用此设置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37630554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档