CA2109 - 忽略或不忽略 - 这就是问题所在

时间:2010-11-30 23:42:05

标签: c# visual-studio warnings msdn

在我和朋友一起写的节目中,我们收到了这个警告:CA2109。 在查看MSDN后,如果这是我需要关注的问题,我感到非常困惑。

MSDN VS2008: http://msdn.microsoft.com/en-us/library/ms182312(v=VS.90).aspx

MSDN VS2010: http://msdn.microsoft.com/en-us/library/ms182312.aspx

这两个版本之间的区别在于此部分取自VS2008 MSDN,但在VS2010 MSDN中不存在:

  

注意此规则仅适用于.NET Framework 2.0之前的版本。您可以在.NET Framework 2.0版和所有更高版本中禁止显示此警告。在这些更高版本中,运行时会自动确保委托的创建者在堆栈遍历期间处于callstack中以满足安全需求。

有什么建议吗?

编辑:只是在阅读DGH答案后澄清 - 正如MSDN2008中的说明所述,我可以忽略它,因为编译器正在处理这个问题。我的问题是在VS2010中发生了什么,这个说明不存在。

1 个答案:

答案 0 :(得分:0)

这是一个潜在的安全问题。如果代码仍然编译并运行(哪些警告不应该阻止),那么你肯定可以忽略它继续前进。但是,如果您希望为程序提供尽可能高的安全级别,则应考虑按照这些MSDN文章的建议解决此问题。