C#编译器允许在.NET Standard 2.0类库中分配未分配的局部变量

时间:2019-01-03 07:12:45

标签: c# visual-studio-2017 .net-standard .net-standard-2.0

考虑以下代码:

public static void foo(System.Reflection.Emit.ILGenerator il)
{
    System.Reflection.Emit.Label label;
    il.MarkLabel(label);
}

在.Net框架类库或控制台应用程序中,代码将导致编译器错误:

  

错误CS0165使用未分配的局部变量'label'

但是,当我在Visual Studio 2017中创建.Net Standard 2.0类库(添加nuget包System.Reflection.Emit.ILGeneration 4.3.0)时,以上代码可以正确编译。这是怎么回事?

0 个答案:

没有答案