是否有.Net StyleCop规则警告锁(this),锁(typeof,lock(<string obj>等?

Ham*_*jan 5 .net fxcop locking stylecop

这3种类型的锁显然很糟糕.还有什么其他类型的锁定不好?有没有Stylecop/FxCop规则可以解决这个问题?如果没有,那么请你帮我一个自定义规则实现?他们所有人的代码必须相似,对吧?

谢谢.

Chr*_*n.K 3

John Robbins 的《调试 Microsoft .NET 应用程序》一书中的示例(您可能需要允许浏览器中的弹出窗口)包含此类 FxCop 规则的源代码(DoNotLockOnPublicFields、DoNotLockOnThisOrMe、DoNotLockOnTypes 等)。看起来它们最初是为 FxCop 1.35 制作的,而 VS 2008 中的版本和最新的独立版本是 1.36(更不用说 VS2010 了)。所以他们可能需要一些调整,YMMV。

还有规则CA2002(不要锁定具有弱身份的对象),它检查诸如 之类的内容lock(typeof(...)),但不检查lock(this)