c# - 如何使用 Func<T, bool> 作为 Func<object, bool> 的参数?

标签 c# c#-4.0

我有一个声明如下的方法:

public void OriginalMethod(Func<object,bool> selector)

我想从具有如下声明的通用方法调用它:

public void GenericMethod<T>(Func<T, bool> selector)

我该怎么做?

最佳答案

你不能通过 selector直接到OriginalMethod : 它需要一个接受任何 object 的方法,而是一个 Func<T, bool>只接受 T 类型的对象.

当然,你可以作弊:

OriginalMethod(o => selector((T)o));

但是如果OriginalMethod使用不可转换为 T 的对象调用方法,它将失败...

关于c# - 如何使用 Func<T, bool> 作为 Func<object, bool> 的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560054/

相关文章:

c# - 当数组似乎不可能时,我可以使用什么集合?数据是否需要不可变,我可以有一个位置吗?

c# - C#4 中的动态关键字是否支持扩展方法?

C# 时间轴控件

c# - 如何在存储过程参数中传递多条记录?

c# - 拦截按钮点击页面加载

c# - 如何使用c#在Excel中读取数据列标题和每个单元格的数据

c# - 如何获取 Telerik TreeView 的层次结构节点级别

.NET MVC 5 中的 Javascript 对象绑定(bind)和服务器端验证

c# - 如何在 jquery 变量中获取业务类属性值

c#-4.0 - 循环遍历 HtmlAgilityPack 创建的节点