9

AttributeUsage のようなものを使用して、属性の使用を特定のクラス (AttributeTargets.Class だけでなく、任意のクラス) に制限することは可能ですか?

4

3 に答える 3

14

これを達成する 1 つの方法は、特定のクラスにアクセスできる場合に、Marc Gravel がhttp://marcgravell.blogspot.com/2009/06/restricting-attribute-usage.htmlで詳しく説明しています。基本的に、特定の型の保護されたクラスとして属性を実装します。その後、そのタイプでのみ使用できます。

于 2010-08-03T22:43:07.257 に答える
11

いいえ。これを行うフレームワークには何もありません。

ただし、問題の属性を使用するコードは、クラスの型が特定のクラス (またはそのサブクラスの 1 つ) であることを常に確認できます。

属性自体は何もしないので、これは同じ効果を持つはずです。

于 2009-09-17T20:41:52.233 に答える
0

問題のクラスを取得し、指定された属性があるかどうかを確認するパブリック静的メソッドによってのみ、属性内のすべてのデータにアクセスできるようにします。

于 2009-09-17T20:50:34.150 に答える