gpt4 book ai didi

c# - 如何允许 C# 8 中可为 null 的泛型类型作为方法的返回类型?

转载 作者:行者123 更新时间:2023-12-02 14:37:20 25 4
gpt4 key购买 nike

我有以下代码:

public async Task<T> Retrieve<T>()
where T : class, ITableEntity
{
var result = await GetData<T>();
return result.Result as T; // result.Result is object
}

现在编译器会发出警告可能返回空引用。我可以用“!”修复它,但实际上我确实想允许 null,所以这样做似乎是错误的。我真的不知道为什么编译器会假设 class 意味着不可为空,我尝试编写 class? (甚至不知道这意味着什么,但它编译了,尽管它给出了相同的结果警告)。

是否可以告诉编译器 T 可以是可为空的引用类型?我猜它默认为不可空。

最佳答案

public async Task<T?> Retrieve<T>()
where T : class, ITableEntity

关于c# - 如何允许 C# 8 中可为 null 的泛型类型作为方法的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59630360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com