37

Javaの@SuppressWarningsアノテーションと同様にC#で警告を抑制する方法はありますか?

それができない場合、Visual Studioで警告を抑制する別の方法はありますか?

4

8 に答える 8

62

はい。

無効にするには、次を使用します

#pragma warning disable 0169, 0414, anyothernumber

ここで、数字は、コンパイラー出力から読み取ることができる警告のIDです。

コードの特定の部分の後で警告を再度有効にするには(これは良い考えです)、次を使用します。

#pragma warning restore 0169, anythingelse

このようにして、コンパイラの出力をクリーンにし、警告がコードの特定の部分(警告を表示する必要がないことを確認した場所)でのみ抑制されるため、安全を確保できます。

于 2009-09-04T11:21:21.297 に答える
18

はい、次のようなプラグマ警告アノテーションを使用できます。

#pragma warning disable 414
//some code that generates a warning
#pragma warning restore 414

数字を省略すると、すべての警告コードが無効になり、復元されます。

于 2009-09-04T11:22:44.027 に答える
6

がある。コンパイラの警告を抑制する方法については、 MSDNページを参照してください。

Visual Studioから、プロジェクトのプロパティに移動し、[ビルド]タブを選択して、[警告の抑制]フィールドに警告番号を入力します。

コードから、特定の警告を無効にするには、#pragmaディレクティブを使用できます。

public class MyClass
{
  #pragma warning disable 0168
  // code

  // optionally, restore warnings again
  #pragma warning restore 0168
  // more code
}
于 2009-09-04T11:21:17.493 に答える
5

次のフォームを使用することを強くお勧めします

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value'

#pragma warning restore 649

最初の行のコメントは、コンパイラ警告(レベル4)CS0649のMSDNドキュメントの最初のようなものから取られています。警告はC#で番号が付けられているため、警告が無効になっている場合にコードで実際に何が起こっているかを示す唯一の参照です。プラグマ警告のソリューション全体で検索を実行するときに、検索結果ウィンドウに表示される理由を取得する唯一の方法は、行の最後に配置することです。

プロジェクトのビルド後に出力ウィンドウを見ると、警告番号を識別できます。「出力の表示:ビルド」と表示されていることを確認します。

于 2013-08-13T11:24:22.367 に答える
4

#pragmaディレクティブを確認できます:http://msdn.microsoft.com/en-us/library/441722ys (VS.80).aspx 。

于 2009-09-04T11:21:01.237 に答える
3

SuppressMessageAttributeVisualStudioをご覧ください:http: //msdn.microsoft.com/en-us/library/ms182068.aspx

于 2013-08-13T11:18:22.313 に答える
3

警告を防ぐSuppressMessageデータ注釈を使用できます。

これは次のようになります。

[SuppressMessage("Reason #Enter whatever you'd like", "ID, must match what intellsense is showing it looks something like this: IDE0001", Justification = "(optional, your own description")]

これが実際の例です:

[SuppressMessage("IntelliSenseCorrection", "IDE0001", Justification = "Do Not Remove <T> Variable, It's Required For Dapper")]
于 2019-10-08T16:10:09.897 に答える
0

プロジェクトまたはソリューションのプロパティを確認して、警告レベルをより低いレベルに設定することもできると思います。そうでなければ、他の応答はおそらくより良いです。

于 2009-09-04T11:33:10.290 に答える