IEnumerable接口作为一个类型?

时间:2011-01-13 17:11:30

标签: vb.net

在VB.NET中学习使用LINQ时,我遇到了以下内容:

Dim x As IEnumerable = (some LINQ query)

如果你不能实例化一个接口,但只能实现它的具体实现,为什么允许这样做呢?这样做有什么不同吗? Dim x as(Type)和 将x调暗为新(类型)?

1 个答案:

答案 0 :(得分:3)

是的,差别很大。在您给出的代码中,您将声明一个指向某个实例化事物的变量。它不一定知道它是什么类型的东西,但它知道它实现IEnumerable。在您提供的代码中,实际实例化为一些具体类型(实现IEnumerable)由LINQ处理。右边的部分必须导致具体的实例化。

相关问题