假设我有一个实现了
当我在它上面调用
问题是编译器如何理解应该调用哪个扩展方法?
IQueryable<>
接口(继承自 IEnumerable<>
)的类。当我在它上面调用
Where()
方法时,编译器会将此调用解析为 IQueryable
扩展方法,尽管 IEnumerable
扩展方法也定义了 Where()
方法。问题是编译器如何理解应该调用哪个扩展方法?
IEnumerable<T>
对于T
是协变的。 - Servy