所以在我的班級,我有這個私人只讀會員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