我有以下扩展方法
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(在丢失范围之前弃用对象)?
使用声明应该对我进行处理吗?
答案 0 :(得分:1)
你是对的,using语句应该处理权利。这个警告让我感到困惑,这就是为什么我在我的机器上构建你的代码,启用所有代码分析规则并且没有得到你提到的警告。也许警告适用于您的代码的另一部分,或者您正在使用的工具中存在某个错误。