Conversão implícita de IEnumerable <T> para MyCollection
Estou tentando criar uma conversão implícita que me permita usar um resultado LINQ para retornar diretamenteMyCollection
.
public class MyCollection : ICollection<MyType>
{
private List<MyType> _list = new List<MyType>();
public MyCollection(IEnumerable<MyType> collection)
{
_list = new List<MyType>(collection);
}
public static implicit operator MyCollection(IEnumerable<MyType> collection)
{
return new MyCollection(collection);
}
// collection methods excluded for brevity
public MyCollection Filter(string filter)
{
return _list.Where(obj => obj.Filter.Equals(filter)); // cannot implicitly convert
}
}
Eu não usei a conversão implícita definida pelo usuário antes, o que estou fazendo de errado?