Почему задание <T> не является ко-вариантом?
class ResultBase {}
class Result : ResultBase {}
Task<ResultBase> GetResult() {
return Task.FromResult(new Result());
}
Компилятор говорит мне, что он не может неявно конвертироватьTask<Result>
вTask<ResultBase>
, Может кто-нибудь объяснить, почему это так? Я ожидал, что ковариация позволит мне писать код таким образом.