标签: c#
我有一个类构造函数,它以IList<IElement>为参数。
IList<IElement>
在创建课程的新实例时,我能够传递IElement[]而不是IList<IElement>这是怎么回事?
IElement[]
答案 0 :(得分:10)
元素类型为T的数组派生自IList<T>。
T
IList<T>
这在mscorlib.dll中的元数据中不可见,但是继承关系是在运行时在CLR中创建的。 C#和CLR都知道数组类型并特别对待它。