将Func转换为委托

我定义了以下委托:

public delegate object MyDelegate(dynamic target); 

我有一个Func对象:

 Func myFunc 

如何将myFunc转换为MyDelegate

我试过这些说明,但都没有奏效:

 MyDelegate myDeleg = myFunc; MyDelegate myDeleg = (MyDelegate) myFunc; MyDelegate myDeleg = myFunc as MyDelegate; 

您可以包装现有委托:

 (MyDelegate)(x => myFunc(x)) 

或者等效地:

 MyDelegate myDeleg = x => myFunc(x); 

这会导致每次调用时性能损失很小,但代码非常简单。