У меня есть явное преобразование, определенное из типа 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<Foo>();
Он выдает исключение, говорящее, что он не может использовать.
Как мне сказать Cast
использовать мой оператор трансляции, чтобы попробовать преобразовать?