簡體   English   中英

代碼分析CA2000警告,無須提供保證

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM