web-dev-qa-db-ja.com

クラスを非推奨としてマークする方法は?

可能性のある複製:
メソッドをObsolete/Deprecatedとしてマークする方法-C#

クラスを非推奨としてマークするにはどうすればよいですか?プロジェクトでクラスを使用したくないが、2週間前にクラスを削除したくない。

210
Mister Dev

属性[Obsolete]を使用する必要があります。

これは一例です:

[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
    //...
}

使用パラメーターはありません。それらはオプションです(オーバーロードメソッド)。最初のパラメーターは理由のためであり、最後のパラメーターは警告の代わりにコンパイル時にエラーをマークすることです。

377

Doakの答えによると、コードをコンパイルする場合は、属性の2番目のパラメーターをfalseに設定する必要があります。

[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
        //...
}

これは単に警告をスローします。

40
Rebecca

クラスを消去せずに非推奨にする理由は、コードが確立されたAPIであり、サードパーティによって消費される場合に、「ポライトネスポリシー」に準拠するためです。

消去ではなく廃止する場合、消費者にライフサイクルポリシー(たとえば、バージョンX.Xまでのクラスの維持と存在)を提供して、新しいAPIへの適切な移行を計画できるようにします。

21
Gabriel