小编Rom*_*iuk的帖子

为什么我不能创建自己的Nullable <T>模拟?

我从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>?

.net c#

4
推荐指数
1
解决办法
269
查看次数

标签 统计

.net ×1

c# ×1