Ily*_*dik 3 c# generics nullable-reference-types
我有以下代码:
public async Task<T> Retrieve<T>()
where T : class, ITableEntity
{
var result = await GetData<T>();
return result.Result as T; // result.Result is object
}
Run Code Online (Sandbox Code Playgroud)
现在编译器给出警告Possible null reference return。我可以用 '!' 修复它,但我实际上确实想允许 null,所以这样做似乎是错误的。我真的不知道为什么编译器会假设该类表示不可为空,我尝试编写class?(甚至不知道这意味着什么,但它可以编译,尽管它给出了相同的警告)。
是否可以告诉编译器 T 可以是可为空的引用类型?我猜它默认为不可为空。
Mar*_*ell 10
public async Task<T?> Retrieve<T>()
where T : class, ITableEntity
Run Code Online (Sandbox Code Playgroud)