c# - 将 Func 转换为委托(delegate)

标签 c# .net c#-4.0 dynamic delegates

<分区>

我定义了以下委托(delegate):

public delegate object MyDelegate(dynamic target);

我有一个 Func<dynamic, object>对象:

Func<dynamic, object> myFunc

如何转换 myFuncMyDelegate

我已经尝试过这些说明,但没有一个奏效:

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

最佳答案

您可以包装现有的委托(delegate):

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

或等效地:

MyDelegate myDeleg = x => myFunc(x);

这会在每次调用时造成很小的性能损失,但代码非常简单。

关于c# - 将 Func 转换为委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943460/

相关文章:

c# - 如何在不指定任何类型参数的情况下创建构造泛型类型

.net - 如何在 WPF 中删除 WebBrowser 上的滚动条

sql-server - 我如何将 IDENTITY_INSERT 设置为 On

.net - XtraGrid Suite - 有没有办法向单元格添加按钮或超链接?

.net-4.0 - 这是预期的 C# 4.0 元组相等行为吗?

c# - 带有 ssl 的 asp.net 表单 - 拒绝访问日志文件

c# - 如何在 dotnetcore xunit 测试中设置文化

c# - 为什么 asp.net Web API 上的 GET 方法返回 IQueryable?

c# - 关于WCF服务的简单查询

c# - Math.Log 的实现方式是否避免了 log(1 + x) 的精度损失?