通常、カスタム Attribute クラスを作成すると、getter と setter を持つパブリック プロパティは、クラスに属性を適用する人に自動的に公開されるため、属性を使用する人はそのプロパティの値を指定できます。
特定のプロパティのゲッターとセッターを公開するカスタム属性クラスが必要ですが、作成時にこのプロパティを属性の名前付き引数として指定することはできません。例:
[AttributeUsage(AttributeTargets.Class)]
class MyCustomAttribute : Attribute
{
public bool MyProperty
{
get { /* do something */ }
set { /* do something */ }
}
}
// The following line should be a compiler error, MyProperty should
// be hidden for attribute initialization!
[MyCustomAttribute(MyProperty=true)]
class MyClass
{
};
これを達成する方法はありますか?