私は次の素晴らしい質問を読みました: C# の属性属性について多くのことを学びました。
私はいくつかの属性を使用するライブラリを使用しています。例:
[State]
public class USStates
{
[City]
public void isNewYork() { }
[Zip]
public ZipCode GetZipCode() { }
}
独自の属性を作成し、サード パーティの名前空間にある既存の属性 (State、City、Zip) を使用してクラスに追加の作業を実行したいと考えていました。たとえば、私はこれを達成しようとしています:
using 3rdPartyNamespace;
using MyOwnSuperNamespace;
public class State : Attribute
{
// my own implementation/extension of State
}
// create City, Zip attributes respectively
[State]
public class USStates
{
[City]
public void isNewYork() { }
[Zip]
public ZipCode GetZipCode() { }
}
上記を試しましたが、3 つの属性すべてであいまいな属性エラーが発生し続けます。どちらか一方を使用する代わりに、両方の属性を直接呼び出すようにコンパイラに指示できますか? 既存の属性を保持し、作成した追加の属性でクラスをマークすることなく、追加の作業を実行したいと考えています。
これは可能ですか?