Приведение Func к Func не работает с двойным, но работает с классамиC#

Место общения программистов C#
Ответить
Anonymous
 Приведение Func к Func не работает с двойным, но работает с классами

Сообщение Anonymous »

У меня здесь простой вопрос о ковариантности/контравариантности.
Ниже у меня есть Func, который мне нужно привести к Func.
Теоретически это должно быть возможно, но на практике, если T2, например, имеет двойное значение, это считается ошибкой компиляции, почему?
Пример 1: это работает! (с T2 = Form)

Код: Выделить всё

public static void Conversion(Func func)
{
Func objFunc = func;
}
Пример 2: это не работает! (с T2 = double)

Код: Выделить всё

public static void Conversion(Func func)
{
Func objFunc = func;
}
Сообщение об ошибке, например 2:

ошибка CS0029: невозможно неявно преобразовать тип
'System.Func' в
'System.Func'


Подробнее здесь: https://stackoverflow.com/questions/798 ... works-with
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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