C# 8.0 Обобщения: возможно ошибочное возвращение нулевой ссылки? - PullRequest
3 голосов
/ 07 февраля 2020

Следующие обобщенные функции c, использующие ссылки на Nullable, работали нормально, пока я не установил VS community 16.5.0 preview 2.0 (до этого я использовал Preview 1.0, я использую. NET Core 3.0 / 3.1):

static async Task<C> Test<C>(MyClass a, MyClass b, Func<MyClass, Task<C>> extract) where C : class? =>
    await extract(a) ?? (b is {} ? await extract(b) : null);

static T MinOrDefault<T>(this IEnumerable<T> enumerable) =>
    enumerable.Any() ? enumerable.Min() : default;

Но теперь оба выдают ошибку CS8603 Possible null reference return. Кто-нибудь знает, является ли это поведение преднамеренным? И есть ли хороший способ исправить это?

Подобный вопрос был задан здесь , но на самом деле он не имеет удовлетворительного ответа; тем более что он не очень хорошо работает с Task с, как упомянуто в комментарии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...