2017-02-24 16 views
4

私はDebug.Assertを自分のコードの周りに置いていましたが、今はを作成しました。その中にはいくつかのロギングとDebug.Assertがありますが、今は100万件の警告があります。ReSharperに、Debug.Assertのラッパーを使用して、NULL参照の警告を回避するように指示するにはどうすればよいですか?

DebugHelper.AssertDebug.Assertと同じであることをReSharperに伝え、警告を取り除くことはできますか?

編集: 私は本当にこのプロジェクトのために別の依存関係を追加することを避けたいと思っています。

+0

http://stackoverflow.com/questions/8854701/disable-all-resharper-warnings-with-a-comment –

+2

@NikhilAgrawal単純には、すべての警告を無効になり、ここで – Rob

+0

@Robを頼まれていないものをこれらの行について考えてみてください。私はOPにあらかじめ焼き尽くされた答えを与える代わりに、Resharperにこのような「種類の」機能性が存在することを知らせるように、彼にこれらの行について考えるよう指示しました。私は彼が探している正確な答えへのリンクを持っています。しかし、なぜ人間に魚を与えるのですか? –

答えて

3

DebugHelper.Assertメソッドに属性を追加したいとします。あなたは、あなたのプロジェクトにJetBrains.Annotationsパッケージを参照し、のようなものを契約のアサーションを追加することができます。

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

これはconditionパラメータがfalseの場合、メソッドは停止することをReSharperのを伝えます。これは、ReSharperが標準のDebug.Assertメソッドに注釈を付ける方法です(コード内にインラインではなくxmlファイルの "外部"注釈を使用しています)。

JetBrains.Annotationsパッケージには、開発時の依存関係としてマークすることもできます。属性は条件付きであり、デフォルトで結果のバイナリにコンパイルされません。詳細はthis blog postを参照してください。私が知っているが、:

+1

これは素晴らしい解決策ですが、私はJetbrainsのライブラリ(開発依存性でさえ)に依存することはできません。 resharper設定ファイルでも同じことが可能かどうか知っていますか? 'Debug.Assert'に注釈を付ける方法と似ていますね。 – Rob

+0

+1 to @Rob。私は本当に依存関係を追加するこのアイデアが気に入らず、追加の承認が必要な私の企業ポリシーのために私がdev依存関係として使用することさえ許されるかどうかはわかりません。私は本当にこれを追加することを避けたいと思います – ditoslav

+0

これは何とかhttps://www.jetbrains.com/help/resharper/2016.3/Code_Analysis__External_Annotations.htmlで使用できますか? 編集:私はそうではないように見えます。これらは同じプロジェクトに適用できないようです。 – ditoslav

関連する問題