假设我有一个接口 IInterface。假设我有 2 个相同 IInterface 的实现(foo & bar)。是否可以在两个目标上调用相同的方法?
问问题
160 次
2 回答
0
我想出了这个,但它使用反射,所以它不如“本机”支持 Y 适配器类型的代理......
public void Intercept(IInvocation invocation)
{
invocation.Proceed();
ThreadPool.QueueUserWorkItem(new WaitCallback(
(object o) =>
{
invocation.Method.Invoke(newTarget, invocation.Arguments);
}
)
);
}
使用 QueueUserWorkItem 可以保证调用该方法的线程在性能方面不会受到太大影响......任何更好的解决方案都非常受欢迎!
于 2010-01-20T00:39:46.840 回答
0
这取决于你如何接近它,
通常这是不可能的(应该返回哪个返回值?),但没有什么能阻止您将另一个目标包装在拦截器中,并让拦截器调用它。
于 2010-01-19T08:10:54.133 回答