[C#][VB.NET]使用禁止にしたいクラスやメソッドが使用されたらコンパイルエラーや警告を発生させる(Obsolete)

チームで開発を行っている時、使用禁止にしたいクラスやメソッドを周知させることができます。クラスやメソッドの別バージョンを追加した際、新しいものに誘導したい時に使用します。

エラーまたは警告を発生させる方法

使用禁止にしたいクラスやメソッドの前にObsolete属性を付与します。第一引数にコンパイルエラー(または警告)で表示したいメッセージを指定し、第二引数をtrueにするとエラー、falseにすると警告になります。

使用例

コンパイルエラー・ワーニングの表示例

クラスの場合は変数宣言行やインスタンス生成行(newを行っている行)、メソッドの場合はメソッドを呼び出した行でエラーが発生します。使用している行でエラーが発生するので、プロジェクト内にObsolete属性の付与されたクラスやメソッドがあるだけではエラーになりません。

コンパイルエラーの表示例

サンプルコードのダウンロード

サンプルコードの実行には Microsoft Visual Studio 2008 以上のバージョンが必要です。 2008以外のバージョンではプロジェクトを開いた際にファイルの変換が必要な場合があります。その場合は変換後に実行してください。

検証環境

関連ページ