Visual Studioで警告を非表示にするには?[C#、VB、VS 2005、VS 2008].NET TIPS

» 2009年03月26日 05時00分 公開
[一色政彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「.NET TIPS」のインデックス

連載目次

 Visual Studio(のC#やVB)のコンパイラは、コンパイル時やコーディング時に自動的に問題を検出し、その問題を「警告」(warning)として[エラー一覧]ウィンドウに表示してくれる。例えば次の画面は、C#のコードにおける警告の表示例だ。

Visual Studioによる警告の表示例

 この例ではwarningStringという変数について警告が発せられている。もちろんこの程度の軽微なものであれば適切に修正すればよいのだが、実際の開発ではどうしても修正できない警告が出てきてしまったり、(移行/移植してきたプロジェクトなどで)大量の警告が出て重要な警告が埋もれてしまったりする場合がある。このような場合は、特定の警告*1を非表示にするのが一番だ。本稿ではその方法を紹介する。

*1 警告は、その種類ごとに警告番号を持っているので、どの種類の警告かを特定できる。


●警告番号を調べる

 特定の警告を非表示にするには、まずはその警告番号を調べる必要がある。これを行うには、[エラー一覧]ウィンドウのエラー項目を右クリックして、表示されるコンテキスト・メニュー(以降、右クリック・メニュー)から[エラーのヘルプを表示]を選択すればよい。

特定の警告のヘルプを表示しようとしているところ

 すると、Visual Studioのヘルプ・ドキュメントが起動し、次のようなページが表示される。

Visual Studioのヘルプ・ドキュメントに記載された警告番号

 「警告 CS0168」という表記があるが、この数値部分、この場合は「0168」(先頭の0は実際には不要)が警告番号である。これはC#の例だが、VBの場合は「Error ID: BC42024」という表記が表示され、この数値部分、この場合は「42024」が警告番号だ。C#とVBの警告番号は一致しない。

 それでは、警告を非表示にする方法を説明していこう。

●警告を非表示にする2種類の方法

 警告は

(1)特定のコードのみで、特定の警告を非表示にする方法(C#のみ)
(2)プロジェクト全体で、特定の警告を非表示にする方法


の2種類がある。(1)の方法はC#でしか使えない(VBは対応していないようで同様の機能は見つけられなかった)。

●(1)特定のコードのみで、特定の警告を非表示にする方法(C#のみ)

 警告を非表示にしたいコードの前に、

#pragma warning disable 警告番号

を記述する。これは「インライン警告制御」と呼ばれるC#(2.0以降)の機能である。

 例えば次の画面では、ファイルの冒頭にこれを記述しているため、そのファイル全体で、その警告番号(この例では「168」)の警告が表示されなくなっている(これはプロジェクト内のほかのファイルには適用されない。つまり、ほかのファイルでは依然として警告が表示される)。

ファイル全体で特定の警告を非表示にした例

 警告番号は「,」(カンマ)で区切ることで複数を指定できる。警告番号を指定しない場合はすべての警告が非表示の対象になる。

 また、ファイル内で警告の表示を再開したい場合は、

#pragma warning restore 警告番号

を記述すればよい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。