IEnumerable <T> .Cast funktioniert nicht, auch wenn ein expliziter Umwandlungsoperator definiert ist?
Ich habe eine explizite Konvertierung von Typ definiertBar
tippenFoo
.
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; }
}
Wenn ich jedoch tue:
using System.Linq;
...
var manyFoos = manyBars.Cast<Foo>();
Es wird eine Ausnahme ausgelöst, die besagt, dass es nicht gewirkt werden kann.
Wie erzähle ichCast
kann ich meinen Cast-Operator verwenden, um die Konvertierung zu versuchen?