2012-03-07 5 views

答えて

5

いいえ;帰属されるコードを挿入するためのものではありません。ポストシャープのようなツールは、煙や鏡を使ってその周りを回っています。もう1つのオプションはデコレータパターン かもしれませんが、おそらくインターフェイスを動的に実装します(どんな手段でも簡単ではありません)。ただし、メソッド呼び出しの先頭にユーティリティメソッド呼び出しを追加すると、がより簡単になります。属性を追加するためのアクセス権がある場合は、メソッド呼び出しを追加するアクセス権があるため、このメソッドの先頭にメソッド呼び出しを追加するのはです。

他の方法:ポストシャープのようなツールがありますきちんとこれはすぐに存在しません。いくつかの場合において

// poor man's aspect oriented programming 
public void Foo() { 
    SomeUtility.DoSomething(); 
    // real code 
} 

、サブクラスは、サブクラスがランタイム(メタプログラミング)で行われる場合は特に、有用であり得る:

class YouWriteThisAtRuntimeWithTypeBuilder : YourType { 
    public override void Foo() { 
     SomeUtility.DoSomething(); 
     base.Foo(); 
    } 
} 
関連する問題