在我和朋友一起写的节目中,我们收到了这个警告: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中发生了什么,这个说明不存在。答案 0 :(得分:0)
这是一个潜在的安全问题。如果代码仍然编译并运行(哪些警告不应该阻止),那么你肯定可以忽略它继续前进。但是,如果您希望为程序提供尽可能高的安全级别,则应考虑按照这些MSDN文章的建议解决此问题。