通用接口引用如何接受非泛型对象?

时间:2013-02-02 17:02:03

标签: c# .net generics

我有代码

IEnumerable<card> any_object = new card[] { };

其中card是一个未实现IEnumerable的类。我无法理解这段代码是如何工作的?

1 个答案:

答案 0 :(得分:5)

来自C#规范:

  

在.NET Framework 2.0版中,Array类实现了   System.Collections.Generic.IList,   System.Collections.Generic.ICollection,和   System.Collections.Generic.IEnumerable通用接口。

因此数组(隐式)继承自IEnumerable<card>

我不太明白有关card课没有实施IEnumberable的评论。 card类不需要,它是您要为变量分配的数组,必须实现接口,而不是其中的值。