は、私はいくつかのインタフェースを持っているC#でDecoratorパターンを生成し、クラスがこのインタフェースを実装する方法、言う:は自動
interface IMyInterface
{
void Func1();
void Func2();
}
class Concrete : IMyInterface
{
public virtual void Func1() { //do something }
public virtual void Func2() { //do something }
}
は今、私はいくつかのコンクリートクラスメソッドのそれぞれを飾るクラスを作成したいです呼び出しの前後に、非本番環境で実行される特定のロジックに依存します。
class Decorator : Concrete
{
public override void Func1() { Pre(); base.Func1; Post(); }
public virtual void Func2() { Pre(); base.Func2; Post(); }
}
私の質問は、インターフェイス上で反射を使用し、cs拡張子を持つテキストファイルを作成する以外のクラスを自動生成する簡単な方法ですか?
Invokeメッセージは何かを返さなければならないので、私は元のメッセージを返しました。元のメソッドが呼び出されたよりも、次の例外があります。 System.Runtime.Remoting.RemotingException:予期しない型のメッセージでメソッドが呼び出されました。何かご意見は? –
MSDN(http://msdn.microsoft.com/en-us/library/system.runtime.remoting.proxies.realproxy.aspx)を参照すると、IMethodReturnMessageの型が返されます。どうすれば簡単に作成できますか? –
新しいReturnMessage(retval) - http://msdn.microsoft.com/en-us/library/systemを参照してください。runtime.remoting.messaging.returnmessage.aspx – SpeksETC