我有一个通用方法,例如:
public T GetLevelElement<T>(string name) where T : ILevelElement
{
//[...]
}
它基本上在数据库中执行查找,在某些情况下它不会(也不能返回)结果,我想返回 null。
然而,这显然是不可能的,因为“T 和 null 之间没有隐式转换”。这种情况怎么办?
最佳答案
T 不能为 null,因为 T 可能是值类型。尝试返回 default(T) 或添加类约束以指示 T 只能是引用类型,如下所示:
public T GetLevelElement<T>(string name) where T : ILevelElement, class
{
[...]
}
关于c# - 无法从泛型方法返回 'null'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1233517/