我定义了从 typeBar
到 type的显式转换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
使用我的演员来尝试转换?