クラスを非推奨としてマークするにはどうすればよいですか?プロジェクトでクラスを使用したくないが、2週間前にクラスを削除したくない。
属性[Obsolete]
を使用する必要があります。
これは一例です:
[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
//...
}
使用パラメーターはありません。それらはオプションです(オーバーロードメソッド)。最初のパラメーターは理由のためであり、最後のパラメーターは警告の代わりにコンパイル時にエラーをマークすることです。
Doakの答えによると、コードをコンパイルする場合は、属性の2番目のパラメーターをfalseに設定する必要があります。
[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
//...
}
これは単に警告をスローします。
クラスを消去せずに非推奨にする理由は、コードが確立されたAPIであり、サードパーティによって消費される場合に、「ポライトネスポリシー」に準拠するためです。
消去ではなく廃止する場合、消費者にライフサイクルポリシー(たとえば、バージョンX.Xまでのクラスの維持と存在)を提供して、新しいAPIへの適切な移行を計画できるようにします。