首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找出什么局部变量需要这种抑制

找出什么局部变量需要这种抑制
EN

Stack Overflow用户
提问于 2018-03-05 18:37:59
回答 1查看 123关注 0票数 0

我正在处理的c#项目打开了“错误警告”,它们在代码中有很多抑制作用。其中包括:

代码语言:javascript
复制
[System.Diagnostics.CodeAnalysis.SuppressMessage(
"Microsoft.Maintainability"
, "CA1500:VariableNamesShouldNotMatchFieldNames"
, MessageId = "CS$<>8__locals1")]

如果删除抑制,则生成失败。如何找出c#代码中哪个特定的标识符会引起警告?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-05 18:43:33

在这种情况下,您不能。看到MessageId值是"CS$<>8__locals1" --这是一个C#编译器--生成的本地代码,所以您不会直接在C#源代码中看到它,您必须使用像ILSpy或Reflector这样的工具来查看CIL和变量。According to this QAlocals名称意味着它是闭包类变量的名称,这意味着您在某个地方使用lambda函数。

但是,不需要手动阻止这种情况,因为FxCop非常聪明,能够了解C#编译器生成的局部变量和字段(字段或它们的封闭类型无论如何都会用[CompilerGenerated]注释)。我猜您的构建过程使用的是最近的C#编译器,但它是一个非常旧的FxCop版本,它不识别新的C#语言特性。

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

https://stackoverflow.com/questions/49117301

复制
相关文章

相似问题

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