【发布时间】:2018-03-20 08:46:59
【问题描述】:
例子:
private string foo;
这理所当然地发出警告CS0649: Field 'foo' is never assigned。但是,如果我添加自定义属性,我希望禁止显示警告:
[Localize("foo")]
private string foo;
我知道使用ReSharper 可以做到这一点。如果 ReSharper 正在运行,我正在使用的库 Json.Net 具有一个属性,该属性会在使用它的每个字段上抑制相同的警告:
[JsonProperty("foo")]
private string foo;
我尝试在 Attribute 类上使用 #pragma 指令,尝试使用 In Source Suppression,但无济于事。任何正确方向的指针将不胜感激,谢谢!
编辑:添加动画以显示在未分配字段上使用 Newtonsoft.Json.JsonProperty 时所需的行为。
编辑:添加说明,因为该功能似乎是 ReSharper 特有的
【问题讨论】:
-
您确定使用 JsonProperty 属性会抑制此警告吗?因为我无法复制它。
-
@Evk 感谢您的回复。我添加了一个动画来显示 JsonProperty 的行为(使用 Newtonsoft.Json)。
-
但是如果您构建该项目 - 它是否仍会发出 CS0169 警告消息(在“警告”构建选项卡中)?另外,你有没有安装 Resharper?
-
@Evk 你是对的 - 错误列表仍然会在警告选项卡中发出 CS0169。我通常不检查那里,因为我们正在使用 Unity3D,它将部分警告反映到它自己的编辑器控制台。我确实使用 ReSharper,所以这很可能是 ReSharper 特有的行为。如果我发现任何关系,我会检查并重新提出我的问题,谢谢!
标签: c# resharper warnings code-analysis