我定义了以下代理:
public delegate object MyDelegate(dynamic target);
我有一个Func<dynamic, object>
对象:
Func<dynamic, object> myFunc
如何将myFunc
转换为MyDelegate
?
我已经尝试过这些说明,但没有一个有效:
MyDelegate myDeleg = myFunc;
MyDelegate myDeleg = (MyDelegate) myFunc;
MyDelegate myDeleg = myFunc as MyDelegate;
答案 0 :(得分:10)
您可以包装现有委托:
ConfigFactory.load()
或等效地:
(MyDelegate)(x => myFunc(x))
这会导致每次调用时性能损失很小,但代码非常简单。