看看这段疯狂的代码:
transport: gmail
我不想知道这个例外!我想知道可以将一个简单的数组分配给ICollection<int> list = new[] {1, 2, 3};
list.Add(4); // NotSupportedException: Collection was of a fixed size.
。我看到ICollection<T>
实现Array
和IList
但据我所知它从未实现ICollection
!
答案 0 :(得分:3)
我看到Array实现了IList和ICollection,但据我所知 永远不会实现ICollection
它实现了ICollection<T>
,实现只是在运行时注入。
从.NET Framework 2.0开始,Array类实现了
System.Collections.Generic.IList<T>
,System.Collections.Generic.ICollection<T>
,和System.Collections.Generic.IEnumerable<T>
通用接口。的的 实现在运行时提供给数组,因此, 通用接口不会出现在声明语法中 数组类。此外,没有关于接口的参考主题 只能通过将数组转换为泛型来访问的成员 接口类型(显式接口实现)。 关键的事情 请注意何时将数组转换为其中一个接口 添加,插入或删除元素的成员 NotSupportedException异常。强>