注:既にmsdnを確認しましたが、実際の質問には対応していません。下記を参照してください。.NETの[Obsolete(string、bool)]属性の使用
私はクラスのいずれかで(当然廃止された)コンストラクタでobsolete属性を使用しようとしています。ここにシナリオがあります:
既存のコードとデプロイされたコードに影響を与えずに、開発者に新しいコンストラクタを強制的に更新させたいと考えています。このようにして、私は自分のコードをプロダクションに配備できますが、開発者の観点からは、コードに入るたびに無視するだけの "警告"を表示するのではなく、現状はもはやokではないため、コンパイルエラーです。
私の質問は、これは開発者だけ、またはすべての呼び出し側アプリケーションに影響するのでしょうか、それとも間違っているのでしょうか?
サンプルコード:
public class MyClass
{
private string _userID; //new code
[Obsolete("This constructor is obsolete, please use other constructor.", true)]
public MyClass()
{
_userID = ""; //defaulting to empty string for all those using this constructor
}
public MyClass(string userID)
{
_userID = userID; //this is why they need to use this constructor
}
}
任意およびすべてのヘルプは理解されるであろう、事前に感謝!
実際には良い質問です。しかし、率直に言って、なぜあなたは単にそれを試してみませんか?テストはそれほど難しくないようです。しかし、違反はありません。 –
私はそれがアセンブリ参照に対してコンパイルする人に影響すると信じています。 –
私はそれをテストしようとしていない唯一の理由は非常に時間のためにcrunchedと誰かがすでに知っている場合私はチートを知っていたので考えた:) – IWriteApps