1

タイトルはほとんどそれをすべて尋ねます。ApiFunction派生クラスでのみ使用するように制限したい属性があります。これは、属性コンストラクターでターゲットタイプをチェックし、すべてが正しくない場合にエラーをスローするという達成可能な方法ですか?

4

1 に答える 1

2

いいえ、属性には、それが適用されるコード要素に関する情報は提供されません。ライブラリ内の各タイプ/メソッドを調べて、属性が許可されたアイテムにのみ配置されるようにするメソッドが必要です。

ビルド プロセスの後に実行されてコンパイル済みのアセンブリを検証する MSBuild タスクを作成することで、ほぼ目的の機能を実装できます。これにより、属性が誤用された場合に独自のコンパイル時エラーを生成できます。

于 2013-03-28T13:26:56.697 に答える