クラス/メソッド/プロパティに機能を「ミックスイン」するために属性を使用できるかどうかを知りたいです。
何かのようなもの:
[TrackChanges]
public Foo
{
get;
set;
}
可能であれば、これを実装する方法はありますか?
クラス/メソッド/プロパティに機能を「ミックスイン」するために属性を使用できるかどうかを知りたいです。
何かのようなもの:
[TrackChanges]
public Foo
{
get;
set;
}
可能であれば、これを実装する方法はありますか?
AOPフレームワークであるPostSharpをご覧ください。これは、カスタム属性を使用して既存のコードに追加の動作を挿入するポスト コンパイラです。例のほとんどは、通常、トレースとセキュリティです。
確かにできますが、それを行うにはリフレクションを使用する必要があります。また、できるからといって、それが簡単またはエレガントであるとは限りません。
リフレクションを使用すると、任意のタイプのすべてのメンバーにアクセスできます。これらのメンバーを取得し、.NET リフレクション API を使用してそれらを操作する必要があります。これはうまくいくかもしれませんが、維持したり読んだりするのが最も簡単なことではありません。