我从https://referencesource.microsoft.com/获取了Nullable <T>类的源代码并将其放到文件中并重命名为NullableZZ(以及NonVersionableAttribute的源代码到单独的文件中).当我试图构建下一个代码时:
static void Main(string[] args)
{
NullableZZ<int> n1 = 100;
NullableZZ<int> n2 = null;
}
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
错误CS0037无法将null转换为'NullableZZ',因为它是一个不可为空的值类型ConsoleApp2 C:\ Users\Roman2\source\repos\ConsoleApp2\ConsoleApp2\Program.cs
为什么C#编译器不想编译它?是否有一些"技巧"来编译其"自有"版本的Nullable <T>?