2

クラス/メソッド/プロパティに機能を「ミックスイン」するために属性を使用できるかどうかを知りたいです。

何かのようなもの:

[TrackChanges]
public Foo
{
   get;
   set;
}

可能であれば、これを実装する方法はありますか?

4

2 に答える 2

3

AOPフレームワークであるPostSharpをご覧ください。これは、カスタム属性を使用して既存のコードに追加の動作を挿入するポスト コンパイラです。例のほとんどは、通常、トレースとセキュリティです。

于 2009-02-16T20:57:09.083 に答える
0

確かにできますが、それを行うにはリフレクションを使用する必要があります。また、できるからといって、それが簡単またはエレガントであるとは限りません。

リフレクションを使用すると、任意のタイプのすべてのメンバーにアクセスできます。これらのメンバーを取得し、.NET リフレクション API を使用してそれらを操作する必要があります。これはうまくいくかもしれませんが、維持したり読んだりするのが最も簡単なことではありません。

于 2009-02-16T20:56:45.153 に答える