IEnumerable <T> .Cast не будет работать, даже если определен явный оператор приведения?
У меня есть явное преобразование, определенное из типаBar
печатать .Foo
public class Bar
{
public static explicit operator Foo(Bar bar)
{
return new Foo(bar.Gar);
}
}
public class Foo
{
public string Gar { get; set; }
public Foo() { }
public Foo(string gar) { Gar = gar; }
}
Тем не менее, когда я делаю:
using System.Linq;
...
var manyFoos = manyBars.Cast();
Это исключение говорит, что можетT Cast.
Как мне сказатьCast
использовать мой оператор приведения, чтобы попробовать преобразование?