【发布时间】:2020-01-07 14:35:01
【问题描述】:
当我试图找到另一个问题的答案时,我注意到这段代码是用 C# 编译的:
public void Foo<T>(T obj)
where T : class?
{
}
我没有设法在文档中找到它的含义。
附:显然有人已经决定关闭一个问题,甚至没有弄清楚“重复”并没有真正的联系。首先尝试解决问题而不是结束问题有那么难吗?副本是关于可以为空的原始类型,而可以为空的引用类型是完全不同的。除了看到他们都有问号并将问题标记为重复的人。
【问题讨论】:
-
“我认为这意味着 T 是一个可以为空的引用类型,但显然它不是” - 为什么这很明显?
-
因为我在尝试分配可为空的引用类型时收到警告
-
这正是它打算做的,不是吗?否则你会发生什么?
-
我收到此警告:“当 'T' 是不可为空的引用类型时,空文字会引入空值。”当你说类?意味着它是从 nullable 派生的?
-
@IlyaChernomordik:我要求版主干预以重新提出您的问题。
标签: c# generics c#-8.0 nullable-reference-types