У меня есть следующий код:
public async Task<T> Retrieve<T>()
where T : class, ITableEntity
{
var result = await GetData<T>();
return result.Result as T; // result.Result is object
}
Теперь компилятор выдает предупреждение Possible null reference return
. Я могу исправить это с помощью '!', Но на самом деле я хочу разрешить нулевое значение, так что кажется неправильным делать это таким образом. Я действительно не знаю, почему компилятор предполагает, что класс означает ненулевое значение, я попытался написать class?
(даже не знаю, что это значит, но он компилируется, хотя выдает то же предупреждение).
Можно ли сказать компилятору, что T может быть обнуляемым ссылочным типом? Я предполагаю, что по умолчанию он не обнуляется.