所以在我的班级,我有这个私人只读会员ICollection<IMusicItem> playlist
。我宁愿使用接口ICollection<T>
。ICollection <T>没有AddRange,但列表<T>没有,正在铸造坏
我想用List<T>.AddRange(IEnumerable<T> items)
。在我的方法中,即使我在构造函数中将ICollection<T>
实例化为new List<T>()
,它也会是危险将ICollection
强制转换为List<T>
。
这是不好的做法,有没有更好的方法来做到这一点?
或者只是最好有一个List<T>
也许使用扩展方法,就像在[这个SO答案](http://stackoverflow.com/a/1667634/996081)? – cubrr
你可以为任何'T'集合创建一个扩展方法'AddRange'。一个通用的。 – AgentFire
你有什么理由坚持**私人**成员的接口类型,特别是当你实例化一个具体的类型,可以让你做你想做的事吗? – nodots