[英]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.