私はAOPを初めて使用し、シャープ(2.1.0.0)を投稿します。私はプロパティ/メソッドのインターセプトを実験していて、自分が書いたクラスのインターセプターの側面を書くことができます。
私の目標は、コンパイル時までにロジックを含むリストを作成しないことです。
私が達成したいことの例は次のとおりです。
public class Foo
{
//Implementation should throw an exception if more than 1 string added.
public List<string> MyList { get; set; }
}
よくわからないのはリストです。リストでAdd()またはRemove()が呼び出されたときに、いくつかの検証を実行できるようにしたいと思います。リストを独自のカスタムリストクラスでラップし、クラスをアスペクト属性で装飾すれば、これを実行できると思います。
私は自分のカスタムリストを使用してこれを達成し、追加/削除の自分の実装で何か賢いことをすることができることを知っています-しかし、これは可能であれば避けたいものです。
これらの方法を傍受する他の(またはより良い)方法はありますか?特にポストシャープを使用しますか?