の属性、私は次のコードを持っていると想像:へのアクセスインスタンス・レベルのカスタムは、C#
class A
{
[UsefulAttribute("foo")]
B var1;
[UsefulAttribute("bar")]
B var2;
...
}
class B
{
public string WriteSomethingUseful()
{
?????
}
}
を私の質問は、どのようなコードには、に配置する必要がありますされ?????私はvar1.WriteSomethingUsefulを呼び出すときに、私はFOOの出力を取得し、私はvar2.WriteSomethingUsefulを呼び出すときに、私はバーの出力を得るように、ということ?
これはかなり簡単な質問ですが、私の主な問題は、私が混乱の状態になってしまったことです。
真剣に、私はUsefulAttributeを定義し、コードの一部がGetCustomAttributes(typeof演算(UsefulAttribute)...)呼び出しでなければなりません実現しています。私が混乱しているところは、タイプレベルではなく、実際のインスタンスでこれらの値を引き出す方法です。
多くのおかげで、 ピート
属性はインスタンスレベルではなくタイプレベルにあります – BrokenGlass
私は現在のフォームであなたが指定した問題は不可能であるという他の回答に同意します。しかし、あなたが後に進めているパターンは、近づくことができず、非常に役に立つことがあります。私はWriteSomethingUsefulが 'WriteSomethingUseful(FieldInfo attributeContext)'のような、その所有者に関するコンテキストを渡された場合、使用可能な解決策があると確信しています。私はあなたのための完全な解決策を考え出すだろうが、私は瞬間にWindowsのデベロッパーボックスを持っていない。それにかかわらず、運が最高です。 –