转换Func键委派 [英] Convert Func to Delegate
本文介绍了转换Func键委派的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经定义了以下委托:
公共委托对象MyDelegate(动态目标);
和我有一个 Func键<动态,对象>
目标:
Func键<动态,对象> myFunc的
我如何转换 myFunc的
到< ?code> MyDelegate
我都试过这些说明,他们没有工作:
MyDelegate myDeleg = myFunc的;
MyDelegate myDeleg =(MyDelegate)myFunc的;
MyDelegate myDeleg = myFunc的作为MyDelegate;
解决方案
你可以用现有的委托:
(MyDelegate)(X => myFunc的(X))
或等价:
MyDelegate myDeleg = X => myFunc的(X);
这会导致在每次调用一个小的性能损失,但该代码是很简单的。
I have the following delegate defined:
public delegate object MyDelegate(dynamic target);
And I have a Func<dynamic, object>
object:
Func<dynamic, object> myFunc
How can I convert myFunc
to MyDelegate
?
I have tried these instructions, none of them worked:
MyDelegate myDeleg = myFunc;
MyDelegate myDeleg = (MyDelegate) myFunc;
MyDelegate myDeleg = myFunc as MyDelegate;
解决方案
You can wrap the existing delegate:
(MyDelegate)(x => myFunc(x))
Or equivalently:
MyDelegate myDeleg = x => myFunc(x);
This causes a small performance loss on each invocation but the code is very simple.
这篇关于转换Func键委派的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文