Как компилятор C# обрабатывает перегрузку явных актеров?C#

Место общения программистов C#
Anonymous
Как компилятор C# обрабатывает перегрузку явных актеров?

Сообщение Anonymous »

Компилятор должен перевести этот код: < /p>

public static explicit operator Int64(MyNumber n)
{
return n.ToInteger();
}

public static explicit operator Double(MyNumber n)
{
return n.ToDouble();
}
< /code>

до двух методов, которые имеют одинаковое имя и подпись, но отличаются только по их возвращению, например, < /p>

public static Int64 ExplicitCast(MyNumber n)
...

public static Double ExplicitCast(MyNumber n)
...
< /code>

Однако нам не разрешено иметь методы, которые отличаются только по их возвращению. Что происходит за шторами?

Подробнее здесь: https://stackoverflow.com/questions/358 ... -operators

Вернуться в «C#»