2011-08-29 148 views
10

是否可以禁用特定行的編譯器警告?禁用每行編譯器警告

在C#,這工作:

[Obsolete] 
class Old { } 

#pragma warning disable 612 
    var oldWithoutWarning = new Old(); 
#pragma warning restore 612 
    var oldWithWarning = new Old(); 

這將是不完整的禁用圖案非常有用的匹配的警告,特別是當一個函數接受一個DU的一個特定情況。

回答

4

不,在使用#nowarn時,每個文件(或者可能是從這裏到文件底部)的警告都會關閉。 (或使用項目屬性時的編譯/項目/ --nowarn命令行。)

+2

這是一個功能請求嗎? :-) – Daniel

+0

是的,我們可能已經有一個日誌記錄了,但我很快就看不到我們在做什麼;有一個非常長的名單'很高興有'的功能,我們幾乎沒有時間去到所有的要領。如果它真的困擾你,我建議把一些需要關閉這個警告的實現放在一個單獨的文件中,並在該文件中使用'#nowarn'。 – Brian

+0

順便說一句 - 應該在哪裏發送/發佈F#功能請求? Visual Studio下的[Connect](http://connect.microsoft.com/)是否正確? – Daniel