HashSet には AddRange メソッドがないので、その拡張メソッドを書きたいと思います。これは私が持っているものです:
public static void AddRange<T>(this ICollection<T> collection, IEnumerable<T> list)
{
foreach (var item in list)
{
collection.Add(item);
}
}
基本クラス Media と派生クラス Photo があります。これは私が働きたいコードです:
var photos = new List<Photo>();
var media = new HashSet<Media>();
media.AddRange(photos);
ただし、コンパイラは、を使用しようとすると、List<Photo>
をに変換できないと言っています。これは拡張メソッドにあるためだと確信していますが、型が の型と異なるようにするにはどうすればよいですか?IEnumerable<Media>
AddRange()
IEnumerable<T>
AddRange<T>