<Nullable>enable</Nullable>
或 #nullable enable
后,我的通用方法出现了以下问题:这样做是不起作用的:
public T? GetDefault<T>()
{
return default;
}
这个可以工作,但是有警告:
public T GetDefault<T>()
{
return default;
}
这两部分单独使用是有效的,但是一起使用时却不行。
public T? GetDefault<T>() where T : class
{
return default;
}
public T? GetDefault<T>() where T : struct
{
return default;
}
从逻辑上讲,第一种方法应该可行。
在不创建多个方法和抑制警告的情况下,无论使用哪个框架,应该如何正确处理这种情况?
[MaybeNull] 属性仅适用于 .Net Core 3.0+。
此外,我在这里提出了这个问题。