C# Недопустимая ошибка дисперсии при наличии параметра метода out

Я смотрел на похожие вопросы, хотя мой случай кажется другим.

Для этого кода:

public interface MyInterface<out T> {
  bool TrySomething(out T val);
}

Я получаю эту ошибку на C# 7.2:

Недопустимая дисперсия: параметр типа "T" должен быть неизменным для MyInterface.TrySomething(out T). "Т" является ковариантным.

Это ошибка, или я что-то упустил? Я не поставляю T значение здесь, я получаю это (то есть чтение, следовательно, out модификатор параметра метода в TrySomething, Так почему же он не компилируется?

0 ответов

Другие вопросы по тегам