Postsharp第三方课

use*_*826 5 c# postsharp

我需要在第三方DLL中从类中装饰所有方法.我使用C#5.0和postharp 3.1.我当然可以这样做.

//In 3rd party library
class A
{
    public virtual int foo(string a) {}

    public virtual void foo2() {}
}

//In my
class B : A
{
    public override int foo(string a) {
        int result = base.foo(a);
        //Do something
        return result;
    }

    public override void foo2() {
        base.foo2();
        //Do something
    }
}
Run Code Online (Sandbox Code Playgroud)

做某事总是一样的.
我不想复制所有丑陋的方法.有些人想知道我可以使用什么或google?谢谢

Mat*_*zer 1

我想这对于Castle Dynamic Proxy来说是一个很好的例子。

如果第三方类不是密封的(因此,它们允许继承并且目标方法或属性是多态的),您应该能够创建运行时代理(即运行时派生类)。

最后,您将创建一个工厂方法,该方法将返回整个第三方类的代理实例。