将 Func 转换为委托
Convert Func to Delegate
我定义了以下委托:
public delegate object MyDelegate(dynamic target);
我有一个 Func<dynamic, object>
对象:
Func<dynamic, object> myFunc
如何将 myFunc
转换为 MyDelegate
?
我已经尝试了这些说明,none 个有效:
MyDelegate myDeleg = myFunc;
MyDelegate myDeleg = (MyDelegate) myFunc;
MyDelegate myDeleg = myFunc as MyDelegate;
您可以包装现有委托:
(MyDelegate)(x => myFunc(x))
或等价地:
MyDelegate myDeleg = x => myFunc(x);
这会在每次调用时造成小的性能损失,但代码非常简单。
我定义了以下委托:
public delegate object MyDelegate(dynamic target);
我有一个 Func<dynamic, object>
对象:
Func<dynamic, object> myFunc
如何将 myFunc
转换为 MyDelegate
?
我已经尝试了这些说明,none 个有效:
MyDelegate myDeleg = myFunc;
MyDelegate myDeleg = (MyDelegate) myFunc;
MyDelegate myDeleg = myFunc as MyDelegate;
您可以包装现有委托:
(MyDelegate)(x => myFunc(x))
或等价地:
MyDelegate myDeleg = x => myFunc(x);
这会在每次调用时造成小的性能损失,但代码非常简单。