首页 > 解决方案 > 在 c# 中声明我的第二种方法时,我收到错误“静态本地函数在 c#7.3 中不可用”

问题描述

当我宣布我的第一个方法时

static void Generation()
{
}

它工作得很好但是当我尝试使用相同的代码声明我的第二种方法时

static void Rendering()
{
}

它得到错误“静态本地函数在 c# 7.3 中不可用”。我读到我可以通过写作来解决

<LangVersion>8.0</LangVersion>

但我想知道为什么它第一次而不是第二次起作用。

标签: c#

解决方案


检查您的语法,特别是大括号{}等的顺序......

编译器似乎认为第二个函数在第一个函数中。

错误(在 C# < 7.3 中)

static void Generation()
{
static void Rendering()
{
}
}

正确的:

static void Generation()
{
}
static void Rendering()
{
}

请注意,第一个函数体内的许多语法错误可能会使编译器感到困惑,并使其认为第一个函数在第二个函数之前没有结束。例如,我建议仔细检查所有对()or {}or[]和 terminating ;

使用 C# 8(或 7.3)时,这不再是错误,因为您实际上可以static在其他人内部定义函数,但据我了解您的问题,这不是您打算做的。


推荐阅读