是否有 .Net StyleCop 规则警告有关 lock(this)、lock(typeof、lock( 等) 的问题?

2024-01-29

这三种类型的锁显然都是不好的。 还有哪些其他类型的锁定是不好的? 有 Stylecop / FxCop 规则可以解决这个问题吗? 如果没有,那么您能帮我实现自定义规则吗?他们的代码一定是相似的,对吧?

谢谢。


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

也是有规律的CA2002 http://msdn.microsoft.com/en-us/library/ms182290%28v=VS.90%29.aspx(不要锁定身份较弱的对象),它会检查诸如lock(typeof(...)),但不适合lock(this)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有 .Net StyleCop 规则警告有关 lock(this)、lock(typeof、lock( 等) 的问题? 的相关文章

  • 如何在没有 Visual Studio 的情况下将新文件添加到 .csproj 文件

    如何添加新文件到 csproj从命令提示符 我认为没有任何工具可以响应命令行上的 add project 命令来执行此操作 但我认为您可以幸运地创建一个程序 脚本来直接操作 csproj 文件的 XML 内容 csproj 文件的结构如下所
  • 更换 I 过滤器

    我目前正在使用 IFilters 从各种文件 word excel tiff pdf 等 中提取文本 据我所知 IFilter 已在 Windows 8 中停止使用 是否有人对如何在不安装本机应用程序的情况下提取文本有任何建议 如果有什么用
  • 如何在 VS2017/2015 中打开 .xproj 文件

    我有一个带有扩展名的 NET core 项目 xproj 当我在VS 2017中打开项目时 项目文件 xproj migrated to csproj 如何打开 xproj 文件 Visual Studio 2017 2015 我需要安装任
  • 在 .Net 托管的 IronPython 脚本中设置和获取变量

    我正在尝试使用 Net 控制台应用程序中托管的 IronPython 来构建验证规则引擎的原型 我已经将脚本精简到我认为的基础内容 var engine Python CreateEngine engine Execute from Sys
  • 同一服务器上的多个.NET版本

    所以我一直都知道在一台计算机 客户端或服务器 上运行多个版本的 NET 框架是可以的 这个问题 https stackoverflow com questions 407306 running many versions of net on
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 取消任务

    我尝试运行一个关于取消任务的简单示例 如下所示 CancellationTokenSource tokenSource2 new CancellationTokenSource CancellationToken token2 tokenS
  • SQLite .NET 性能,如何加快速度?

    在我的系统上 约 86000 个 SQLite 插入需要长达 20 分钟 意味着每秒约 70 个插入 我要做数百万 我怎样才能加快速度 对每一行的 SQLiteConnection 对象调用 Open 和 Close 会降低性能吗 交易有帮
  • 抛出并保留堆栈跟踪不符合代码分析所描述的预期

    进行代码分析给了我项目 CA2200 CA2200 重新抛出以保留堆栈详细信息 func 重新抛出捕获的异常并将其显式指定为参数 请改用不带参数的 throw 以保留最初引发异常的堆栈位置 我已经实现了该建议 但无论如何我似乎都得到了相同的
  • 时间跨度格式[重复]

    这个问题在这里已经有答案了 当您将时间跨度声明为以下形式时 如何优雅地格式化时间跨度以表示 1 小时 10 分钟 TimeSpan t new TimeSpan 0 70 0 我当然知道你可以为此做一些简单的数学计算 但我有点希望 NET
  • 为什么 C# 不支持类构造函数中的隐式泛型类型?

    如果编译器可以推断出泛型类型参数 C 并不要求您指定它 例如 List
  • 使一个对象只能被同一程序集中的另一个对象访问?

    每个业务对象都有一个包含 sql 调用的匹配对象 我想限制这些 sql 对象 使其只能由匹配的业务对象使用 如何才能实现这一目标 Update 格雷格提出了关于可测试性的观点 由于 SqlObjects 将包含非常特定于业务流程的 sql
  • Windows 7 任务栏:捕获缩略图

    是否可以从 Win7 任务栏捕获 实时 缩略图 我想在我的应用程序中显示 另一个窗口的 预览 但如何使用 NET 提取这些预览 Yes MSDN 杂志解释了如何 http msdn microsoft com en us magazine
  • 是否可以在 IIS7 Express 中使用自定义主机标头/绑定?

    我正在尝试配置一个新的ASP NET MVC3 using IIS7快递 在我的本地开发机器上 使用自定义域名 eg 我的本地开发机器 打开我的网络浏览器 goto http dev www mydomain com http dev ww
  • 什么时候值得使用 BindingSource?

    我想我非常了解 BindingSource 类的作用 即在数据源和 UI 控件之间提供一个间接层 它实现了 IBindingList 接口 因此还提供了对排序的支持 而且我已经经常使用它 没有太多问题 但我想知道我使用它的频率是否超过了应有
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe

随机推荐

  • solr cloud中zookeeper的作用

    我是 SolrCloud 4 X 的新手 有人可以详细解释 SolrCloud 中 Zookeeper 的角色和职责吗 另外 zookeper 在搜索 添加 Solr 请求方面如何工作 Zookeeper 是 SolrCloud 配置的中央
  • 命令 /Developer/usr/bin/clang 失败,退出代码 1

    我试图使用 Xcode 制作一个简单的 Mac Objective C 应用程序 以记录玩简单游戏的两名玩家的得分 每个玩家最多 36 分 由于其功能有限 它不是一个非常实用的应用程序 并且主要用于练习 我试图使用 首选项 窗口稍微扩展应用
  • coturn STUN 请求在本地工作,但不适用于远程连接

    我已成功向 coturn 服务器发出 TURN 请求 https github com coturn coturn https github com coturn coturn 但在执行 STUN 请求时失败 如果我尝试从运行服务器的同一台
  • Spring Security 3.1 和正确的 Jar

    我正在使用 Spring 3 1 并且是第一次使用 LDAP 这是我的 security xml
  • keras 学习的 LSTM 网络中的前向传递

    我有以下代码 希望能够从 2 层 LSTM 获得前向传递 this is a simple numerical example of LSTM forward pass to allow deep understanding the LST
  • 为什么 Haskell 在解决“重载”运算符方面遇到了麻烦?

    这个帖子 https stackoverflow com questions 18372060 overload built in function in haskell rq 1提出以下情况的问题 接受的答案告诉我们您实际上正在做的是创建
  • Knockoutjs 在 Internet Explorer 中运行速度极慢

    In brief I ve got a page with KO code that operates absolutely cool in Google Chrome Firefox Safari etc But the performa
  • Spring boot WAR 部署到 Tomcat 并缺少静态资源的上下文

    我在将 Spring Boot 应用程序作为 WAR 文件部署到独立的 Tomcat 7 服务器时遇到问题 它构建和部署得很好 但是当 index html 页面尝试加载其他静态资源时 它们缺少 url 中的上下文 因此无法加载 404 e
  • VS Code:“不允许使用属性调试选项”

    我正在尝试学习 Python 并设置 VS Code 的 Python 调试器 如本视频所述 https www lynda com Python tutorials Choosing editor IDE 661773 707220 4
  • 取消令牌和线程不起作用

    我想取消一个线程并在之后运行另一个线程 这是我的代码 private void ResetMedia object sender RoutedEventArgs e cancelWaveForm Cancel cancel the runn
  • Laravel:npm run watch 错误

    我正在开发一个项目并运行 npm run watch 我得到了这个错误 我本来工作正常 但突然出现这个错误 gt watch C projects tests blog gt node node modules cross env dist
  • Mac OS X 中是否有等效的 PTHREAD_MUTEX_ROBUST ?

    我正在使用一个pthread mutex t with PTHREAD PROCESS SHARED在共享内存上进行不同进程之间的同步 如果进程退出但互斥锁保持锁定状态 则互斥锁可能会死锁 有一个PTHREAD MUTEX ROBUST在
  • 有没有办法转发声明协方差?

    假设我有这些抽象类Foo and Bar class Foo class Bar class Foo public virtual Bar bar 0 class Bar public virtual Foo foo 0 进一步假设我有派生
  • 如何停止Python线程中的for循环?

    我正在尝试用 Python 创建一个脚本来学习线程 但我似乎无法停止线程中的 for 循环 目前 我正在使用 pyInstaller 编译脚本并结束线程进程 我知道这不是最好的方法 有人可以向我解释如何根据命令结束线程吗 我读过许多其他问题
  • AJAX 重写后如何重新绑定对话框?

    我有一个学生表 每一行都是他们的名字 一个选择列表来选择他们的课程出勤率 然后单击 消息 链接时会弹出一个对话框 向学生发送消息 该表由选定的课程列表动态驱动 例如 教师选择一门课程 然后表中会重新填充该课程中的所有学生 这是通过 AJAX
  • mongodb:限制对特定集合的读/写访问

    即使用户拥有数据库的读 写访问权限 是否有任何方法可以限制数据库中特定集合的读 写访问权限 例如 我有一个名为 PRODCAST 的数据库 它包含 collA collB collC 和 collD 假设我们有 10 个用户 他们都可以访问
  • JSF:如果省略 GET 参数,则抛出 404 错误

    如果将无效的 GET 参数传递到页面 我需要抛出 404 错误 我已将其附加到验证器 如上所述here https stackoverflow com a 4902757 1973599 但如果根本没有参数 则验证器不会被调用 我该如何处理
  • 无法在 Docker 容器中使用 TypeScript 启动 React

    我试图npm run start一个使用以下命令创建的 React 应用程序 template typescript 因此 Typescript 已安装 作为 React 依赖项 但我的 Docker 容器抱怨一条通用错误消息 TypeSc
  • Nunit 使用的 XML 文件的 XSD

    在哪里可以找到 Nunit 使用的 XML 文件的 XSD 对于结果文件 看结果 xsd http www nunit org docs 2 2 files Results xsd 请注意 它在 Chrome 中对我来说无法正确显示 您可能
  • 是否有 .Net StyleCop 规则警告有关 lock(this)、lock(typeof、lock( 等) 的问题?

    这三种类型的锁显然都是不好的 还有哪些其他类型的锁定是不好的 有 Stylecop FxCop 规则可以解决这个问题吗 如果没有 那么您能帮我实现自定义规则吗 他们的代码一定是相似的 对吧 谢谢 The samples http dtt w