2017-02-24 2 views
4

So hatte ich Debug.Assert überall um meinen Code, aber jetzt habe ich eine erstellt, die an sich eine Protokollierung hat und eine Debug.Assert, aber jetzt bekomme ich 1 Million Warnungen, dass etwas null sein kann.Wie kann ich ReSharper mitteilen, dass ich einen Wrapper für Debug.Assert verwende, um Nullreferenzen zu vermeiden?

Kann ich ReSharper sagen, dass DebugHelper.Assert dasselbe ist wie Debug.Assert und damit die Warnungen loswerden?

EDIT: Ich würde wirklich gerne (auch vielleicht müssen) vermeiden, eine weitere Abhängigkeit zum Projekt nur dafür hinzuzufügen.

+0

http://StackOverflow.com/Questions/8854701/disable-all-resharper-warnings-with-a-Comment –

+2

@NikhilAgrawal Das deaktiviert einfach alle Warnungen, nicht was hier gefragt wird – Rob

+0

@Rob: Ich weiß, aber etwas zu denken in diesen Zeilen. Anstatt dem OP eine vorgebackene Antwort zu geben, wies ich ihn an, über diese Zeile nachzudenken und zu informieren, dass diese "Art" von Funktionalitäten in Resharper existiert. Ich habe einen Link zur genauen Antwort, die er finden möchte. aber warum gib einem Mann einen Fisch .... –

Antwort

3

Sie möchten der Methode DebugHelper.Assert ein Attribut hinzufügen. Sie können das JetBrains.Annotations Paket in Ihrem Projekt verweisen und einen Vertrag Behauptung hinzuzufügen, so etwas wie:

[ContractAnnotation("condition:false => halt")] 
public void Assert(bool condition) 
{ 
    // ... 
} 

Dies sagt ReSharper, dass, wenn die condition Parameter falsch ist, wird das Verfahren zu stoppen. Auf diese Weise kommentiert ReSharper die Standardmethode Debug.Assert (allerdings über "externe" Annotationen in einer XML-Datei statt inline im Code).

Sie können das JetBrains.Annotations-Paket auch als Entwicklungszeitabhängigkeit kennzeichnen - die Attribute sind bedingt und werden nicht standardmäßig in die resultierende Binärdatei kompiliert. Weitere Details in this blog post.

+1

Dies ist eine nette Lösung, aber ich bin nicht darauf angewiesen, eine Abhängigkeit von der Jetbrains-Bibliothek herzustellen (selbst eine Entwicklungsabhängigkeit). Weißt du, ob es möglich ist, das gleiche mit nachschärfenden Konfigurationsdateien zu tun - ich nehme an, ähnlich wie sie 'Debug.Assert' kommentieren? – Rob

+0

+1 auf @Rob. Mir gefällt diese Idee, eine Abhängigkeit hinzuzufügen, wirklich nicht, und ich bin mir nicht sicher, ob ich sie aufgrund der Unternehmensrichtlinien, in denen ich möglicherweise zusätzliche Genehmigungen benötige, auch als Entwicklerabhängigkeit verwenden kann. Ich würde wirklich gerne vermeiden, diese – ditoslav

+0

hinzufügen Könnte dies irgendwie verwendet werden https://www.jetbrains.com/help/resharper/2016.3/Code_Analysis__External_Annotations.html? EDIT: Sieht für mich wie nicht aus. Es scheint, dass diese nicht auf dasselbe Projekt angewendet werden können. – ditoslav

Verwandte Themen