私のリフレクション機能に使用するカスタム属性を作成する必要があります。私はそれを見るようにここでターゲットがカスタム属性のインタフェースを継承していることを確認してください
は、ユースケースです:
- ユーザーは、いくつかのクラスを作成し、私の特別な属性(例えば[ImportantAttribute])
- でそれをマークし、ユーザーが持つ何かをします私のライブラリの機能これらの機能は、主な問題は、クラスがWICHというのが私のライブラリ内の関数を期待は、[ImportantAttribute](私のインターフェイスを継承IMyInterfaceというでマークされたことがある[ImportantAttribute]でクラスを検索し、それらを
を何かをします例えば)
は、彼が[ImportantAttribute]と彼のクラスをマークしていない、実行時に、コンパイル時にIMyInterfaceというを継承することを忘れた場合、ユーザが知っているようにする方法はあります。この属性を指定する方法は、IMyInterfaceを継承するクラスのみです。
プロパティおよびフィールドの属性と同じです。
IMyInterfaceから明示的に継承されたクラスをユーザーが作成できないのはなぜですか?私は、「重要な属性」がパーティーに持ち込むものは何ですか? –
@Garry Vassこの属性は、私の関数に対して、マークされたクラスを集約する必要があると言います。ユーザーは、IMyInterfaceを継承するクラスをいくつか作成することができます。しかし、ImportantAttributeでマークされたすべてのクラスは、IMyInterfaceを実装する必要があります – Yavanosta