【发布时间】:2012-01-30 08:59:16
【问题描述】:
我有一个集合,我正在尝试使用 Distinct 方法删除重复项。
public static Collection<MediaInfo> imagePlaylist
imagePlaylist = imagePlaylist.Distinct(new API.MediaInfoComparer());
我收到错误“无法将类型 'System.Collections.Generic.IEnumerable' 隐式转换为 'System.Collections.ObjectModel.Collection'。存在显式转换(您是否缺少演员表?)”
imagePlaylist 曾经是一个 List(我可以使用 .ToList()),但为了遵守“CA1002 不要公开通用列表”,我想将 List 转换为 Collection。
-谢谢
【问题讨论】:
-
您的收藏需要向公众公开 Add 和 Remove 吗?您是否需要通过索引进行随机访问?如果没有,您可以简单地将
imagePlaylist公开为IEnumerable<MediaInfo>以获得只读序列。 -
@anthonyPegram 这些方法需要公开,在这种情况下使用 IEnumerable 不是一个选项
标签: c# linq generics collections implicit-conversion