[英]Code analysis CA2000 warning without warrant
我有以下扩展方法
public static string NameInCSharp(this Type type)
{
string typeName = type.FullName.Replace(type.Namespace + ".", "");
using (var provider = System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp"))
{
var reference = new System.CodeDom.CodeTypeReference(typeName);
return provider.GetTypeOutput(reference);
}
}
有谁知道为什么我在编译时得到代码分析警告CA2000(在失去作用域之前处理对象)?
using语句应该为我做配置对吗?
您是正确的,using语句应具有处置权。 这个警告让我和您一样困惑,这就是为什么我在计算机上构建您的代码,启用所有代码分析规则并且没有得到您提到的警告的原因。 该警告可能适用于代码的另一部分,或者您正在使用的工具中某处存在错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.