私が使う:
[Obsolete("Please use [NEW API] instead.")]
パブリック API を非推奨にしますが、 [NEW API]の標準が何であるかはわかりません。次の例はかなり標準的なようです。
[Obsolete("Please use Method2() instead.")] //This seems to be ok if Method2 is in the same class
[Obsolete("Please use Class2.Method1() instead.")] //This seems to be ok if we are referencing a different class in the same namespace
[Obsolete("Please use Namespace.Class2.Method1() instead.")] //This seems to be ok if we are referencing a different class in a different namespace
しかし、API を引数付きの特定のメソッドに置き換えると、ぼやけ始めます。
[Obsolete("Please use Method2(string, string) instead.")]
それは特定のメソッド タイプを参照する正しい方法ですか、それとも変数名を含めますか? 例えば:
[Obsolete("Please use Method2(string arg1, string arg2) instead.")]
そして今、難しいのは、型が別のアセンブリに移動された場合はどうですか、例えば:
[Obsolete("Please use Namespace.ClassName.Method2(), AssemblyName instead.")]
[Obsolete("Please use AssemblyName!Namespace.ClassName.Method2() instead.")]
どちらが正しい方法ですか、それとも別の方法がありますか?