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?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage