我有如下代码:
现在编译器会发出警告
有没有可能告诉编译器 T 可以是可空引用类型?我猜默认是不可为空的。
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
。我可以用 '!' 来修复它,但实际上我确实想允许 null,所以这样做似乎是错误的。我不知道为什么编译器认为类意味着不可为空,我试过写 class?
(甚至不知道那是什么意思,但它可以编译,尽管会给出相同的警告)。有没有可能告诉编译器 T 可以是可空引用类型?我猜默认是不可为空的。
T
可为空,那么返回类型不应该是Task<T>
吗? - germi