我需要在第三方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?谢谢
我想这对于Castle Dynamic Proxy来说是一个很好的例子。
如果第三方类不是密封的(因此,它们允许继承并且目标方法或属性是多态的),您应该能够创建运行时代理(即运行时派生类)。
最后,您将创建一个工厂方法,该方法将返回整个第三方类的代理实例。
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |