|
分類:[.NET 全般]
C# on VS2008 TeamSuite です。
例えば、P/Invoke で使う Windows API の定数定義を、大文字小文字もアンダースコアもそのままに C# に取り込んだとします。
これにコード分析をかけると、やれ大文字小文字を直せだとか、アンダースコアを消せだとかとうるさく言われます。
Windows API という由来があってやっていることなので、こうした警告は抑制したいと思います。
例えば、
enum HOGE
{
HOGE_BOO,
HOGE_FOO,
HOGE_BAR
}
なんてコードを書くと CA1707(アンダースコアの削除)とCA1709(大文字小文字の訂正)が満載になるわけですが、
これに対して全ての警告を抑制するために、HOGE に対しての一度の指定では済まないものでしょうか?
エラー一覧から「メッセージの非表示」を選択すると、
enum HOGE
{
[SupressMessage("Microsoft.Naming", "CA1707")]
[SupressMessage("Microsoft.Naming", "CA1709")]
HOGE_BOO,
[SupressMessage("Microsoft.Naming", "CA1707")]
[SupressMessage("Microsoft.Naming", "CA1709")]
HOGE_FOO,
[SupressMessage("Microsoft.Naming", "CA1707")]
[SupressMessage("Microsoft.Naming", "CA1709")]
HOGE_BAR
}
という風になってしまうのですが(属性内容は最低限に省略しました)、これを、
[SupressMessage("Microsoft.Naming", "CA1707")]
[SupressMessage("Microsoft.Naming", "CA1709")]
enum HOGE
{
HOGE_BOO,
HOGE_FOO,
HOGE_BAR
}
というような、一度の指定で全メンバに適用するような書き方ができないものでしょうか?
よろしくお願いします。
|