Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 过时的库类_C# - Fatal编程技术网

C# 过时的库类

C# 过时的库类,c#,C#,防止C#程序员使用特定库类的最佳方法是什么 类来自外部程序集,因此不可能对其使用[过时]属性。我尝试使用Resharper自定义模式,但它似乎不支持泛型类型。修补库方法/类(Reflector有几个插件)-添加DeprecatedAttribute,或修改其代码以引发异常,例如 您还可以进行一个特殊的单元测试,该测试在CI服务器上运行,如果指定了特定的不推荐项用法,则会失败。您可以使用ildasm分解库,添加[过时(true)]属性,并使用ilasm重新组装 您可能会找到一些装配编辑工具,例如与

防止C#程序员使用特定库类的最佳方法是什么


类来自外部程序集,因此不可能对其使用
[过时]
属性。我尝试使用Resharper自定义模式,但它似乎不支持泛型类型。

修补库方法/类(Reflector有几个插件)-添加
DeprecatedAttribute
,或修改其代码以引发异常,例如


您还可以进行一个特殊的单元测试,该测试在CI服务器上运行,如果指定了特定的不推荐项用法,则会失败。

您可以使用ildasm分解库,添加
[过时(true)]
属性,并使用ilasm重新组装

您可能会找到一些装配编辑工具,例如与Reflector一起试用


请注意,若编辑程序集,将丢失所有签名和内容。

完全删除它?在库中,project中使用的其他类很少。库是第三方的。哦,你没有库的代码吗?这是一个有趣的问题。对我们来说,有效的方法是巧妙地要求他不要使用它:)告诉他们,如果他们使用它,你会用棍子打他们吗?我想你的意思是说“代码分析”而不是单元测试。单元测试是为了功能,而代码分析是为了对代码本身实施规则。这是一个可能需要自定义代码分析规则的实例。