【发布时间】:2011-04-23 20:07:16
【问题描述】:
目前我使用DynamicInvoke,速度很慢。还在使用Delegatetype 怎样才能直接调用Delegate而不用后期绑定/DynamicInvoke?
Delegate _method;
_method.DynamicInvoke(_args);
谢谢。
【问题讨论】:
-
查看this 对类似问题的回答。
-
Thar 帖子使用 Action 而不是 Delegate。不知道为什么 Delegate 没有与 Action 相同的方法。
-
发布真实代码。目前还不清楚为什么需要使用 Delegate 而不是声明的委托类型。
-
已经有几年了,但现在您可以将
Delegate转换为声明的委托类型,前提是您事先知道参数和返回类型。这通过在类型化委托上使用Invoke方法创建接近原生的性能(在我的系统上比直接调用慢 5-10%)。
标签: c# .net .net-3.5 delegates