有没有办法创建委托类型的代理并让它在 DynamicProxy2 中实现其他接口,并且还能够拦截对生成的委托的调用?
我通常生成代理的方式会引发异常,因为委托类型是密封的。
有没有办法创建委托类型的代理并让它在 DynamicProxy2 中实现其他接口,并且还能够拦截对生成的委托的调用?
我通常生成代理的方式会引发异常,因为委托类型是密封的。
帕特里克,
您不需要 DynamicProxy 来“代理”委托 这应该足够了:
Action delegateToproxy = new Foo().Bar; //Bar is public void Bar(){}
Action proxy = delegate
{
Console.WriteLine("Intercepted!");
delegateToProxy();
}
return proxy;
[更新:这个问题与这个特定问题无关]你想为此公开什么样的 API?
如果您想跟进此对话,请通过电子邮件与我联系,或在 Castle 用户组上启动线程。