Anular IEnumerable <T> Donde
He escrito una clase que implementa IEnumerable:
public class MyEnumerable : IEnumerable<MyClass>
{
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
public IEnumerator<MyClass> GetEnumerator()
{
//Enumerate
}
}
Me gustaría "anular" el método Where. Lo que quiero hacer es:
MyEnumerable myEnumerable = new MyEnumerable();
MyEnumerable myEnumerable2 = myEnumerable.Where(/*some predicate*/);
Por el momento, esto no es posible porque myEnumerable.Where () devuelve un IEnumerable. Lo que quiero es que myEnumerable.Where () devuelva un MyEnumerable.
¿Es eso posible hacer esto?
Gracias