c# - 检查 NotImplementedExceptions 的 FxCop 规则

标签 c# .net fxcop ndepend notimplementedexception

我希望每晚构建检查我的 .NET 代码中有多少 NotImplementedExeption,因此希望我们可以在发布之前将它们全部删除。我的第一个想法是 FxCop 可能是执行此操作的好工具。有人对此有自定义 FxCop 规则吗?我将如何自己创建一个?

最佳答案

如果超过 10 个方法创建 NotImplementedException,这样的单元测试将失败。如果失败,它将报告所有创建此异常的方法。

var throwingMethods = codebase.Methods
  .Where(m => m
         .GetInstructions()
         .Exists(i => i.Creates<NotImplementedException>()))
  .ToArray();

if (throwingMethods.Length > 10)
  CollectionAssert.IsEmpty(throwingMethods);

代码库是这样创建的:

var codebase = new Codebase("Assembly1.dll","Assembly2.dll");

代码段使用来自 Lokad Shared Libraries 的 Lokad.Quality.dll .

关于c# - 检查 NotImplementedExceptions 的 FxCop 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/415730/

相关文章:

.net - .NET 中的非通用集合是否已过时?

.net - EndInvoke 更改当前 CallContext - 为什么?

c# - CA1819 : Properties shouldn't return arrays - What is the right alternative?

code-analysis - 项目中引用的程序集名称但相同版本不可用

c# - Microsoft分析器为什么找不到Microsoft.CodeAnalysis?

c# - 类型转换自定义类型

c# - C# 程序员在 C++ 中读取 ProcessMemory,始终失败

c# - 如何检查mysql表是否为空?

c# - 与非托管代码相比,在 TCP/UDP 套接字上读取/写入大量数据时托管代码是否存在性能损失?

C#关闭另一个窗体问题,Close();不起作用