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 использовать мой оператор приведения, чтобы попробовать преобразование?

Ответы на вопрос(5)

Ваш ответ на вопрос