2010-04-16 21 views
7

Ich muss eine spezifische Compiler-Warnung in C# unterdrücken. Jetzt kann ich es so machen:Wie unterdrückt man eine Compiler-Warnung in C# ohne #pragma?

#pragma warning disable 0649 

private string _field; 

#pragma warning restore 0649 

Gibt es eine Möglichkeit, es wie folgt zu tun?

[SuppressCompilerWarning("0649")] 
private string _field; 

Weil ich nur Warnungen für dieses Feld unterdrücken muss, kein Code-Block.

Hinweis: Ich möchte die Compiler-Warnung unterdrücken, nicht die Code-Analyse Warnung.

Danke!

Antwort

7

Does nicht :

private string _field = null; 

die Warnung auch entfernen?

+0

Ja, eine perfekte Lösung. Danke vielmals! –

2

Nein. Sie können es über ein Build-Flag weit projizieren, aber ansonsten ist ein Feld nur ein weiterer (kleiner) Block.

Natürlich könnte man es einen Wert irgendwo zuweisen ... das wird es glücklich machen ;-P (ich nehme an, es tatsächlich einen Wert über Reflexion oder etwas zugeordnet?)

+0

Sie haben Recht. Es wird von einem DI-Framework zugewiesen, und dieses Feld sollte für die Außenwelt nicht sichtbar sein. –

+0

Das Problem ist, ein # Pragma-Paar ist wirklich langweilig. –

+0

@Dylan - geben Sie dem Code irgendwo einen Wert. Ehrlich gesagt, können riesige Teile des meisten Codes als "langweilig" angesehen werden - aber sie sind kritisch. –

Verwandte Themen