我有一个实现IEnumerable的类,但没有实现IEnumerable<T>。我不能改变这个类,也不能用另一个类代替它。正如我从MSDN LINQ can be used if class implements IEnumerable所理解的那样。我尝试过使用instance.ToQueryable(),但它仍然不支持LINQ方法。我知道这个类只能包含一种类型的实例,所以这个类可以实现IEnumerable<T>,但是它就是不能实现。
发布于 2011-10-14 00:37:23
是的,它可以。您只需使用Cast<T>函数将其转换为类型化的IEnumerable<T>即可。例如:
IEnumerable e = ...;
IEnumerable<object> e2 = e.Cast<object>();现在,e2是一个IEnumerable<T>,可以使用所有的LINQ函数。
https://stackoverflow.com/questions/7757365
复制相似问题