当我声明我的第一个方法时
static void Generation()
{
}
它工作得很好,但是当我尝试使用相同的代码声明我的第二个方法时
static void Rendering()
{
}
它收到错误“静态本地函数在 c# 7.3 中不可用”。我读到可以通过写来修复
<LangVersion>8.0</LangVersion>
但我想知道为什么它第一次有效而第二次不起作用。
最佳答案
检查您的语法,特别是大括号 {}
的顺序等...
编译器似乎认为第二个函数以某种方式位于第一个函数内。
错误(在 C# < 7.3 中)
static void Generation()
{
static void Rendering()
{
}
}
正确:
static void Generation()
{
}
static void Rendering()
{
}
请注意,第一个函数体内的许多语法错误可能会使编译器感到困惑,并使其认为第一个函数尚未在第二个函数之前结束。例如,我建议仔细检查所有 ()
或 {}
或 []
对,并终止 ;
.
当使用 C# 8(或 7.3)时,它不再是错误,因为您实际上可以在其他函数中定义 static
函数,但据我了解您的问题,这不是您想要做的.
关于c# - 在 C# 中声明我的第二个方法时,出现错误 "Static local functions is not available in c# 7.3",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62980345/