Как преобразовать явный оператор в группу методов? - PullRequest
0 голосов
/ 26 июня 2018

В моем классе ClassName определен оператор:

public static explicit operator ClassName(Guid value)
{
    return new ClassName(value);
}

Это позволяет "разыграть" следующим образом:

var guids = new[] { Guid.NewGuid, Guid.NewGuid() };

var classes = guids.Select(g => (ClassName)g).ToArray();

Если бы у меня был метод, подобный

public static ClassName Convert(Guid value)
{
    return new ClassName(value);
}

Я мог бы использовать группу методов:

var guids = new[] { Guid.NewGuid, Guid.NewGuid() };

var classes = guids.Select(ClassName.Convert).ToArray();

Можно ли просто передать группу методов для явного оператора?

Мои наивные эксперименты с правильным синтаксисом провалились:

guids.Select(ClassName) // no (obviously)

guids.Select(ClassName.ClassName) // no (obviously)

guids.Select((ClassName)) // no (obviously)

guids.Select(ClassName.op_explicit)  // no (obviously)
...