gpt4 book ai didi

c# - 如果函数包含同名的局部函数,如何递归调用函数?

转载 作者:行者123 更新时间:2023-11-30 19:35:52 25 4
gpt4 key购买 nike

我一直在研究本地函数,但无法弄清楚如果宿主函数包含同名的本地函数,该如何调用它。

class Program
{
static void Main(string[] args)
{
new Test().Foo();

Console.Read();
}
}

class Test
{
public void Foo()
{
Console.WriteLine("Host function");

void Foo()
{
Console.WriteLine("Local function");
}

Foo(); // This calls the local function

Foo(); // I would like to call the host Foo() recursively here
}
}

最佳答案

您可以在调用前加上this:

Foo(); // calls the local function
this.Foo(); // calls the class instance function

虽然,即使有这样的解决方法,仍然强烈建议使用更好的函数名称来更清楚地区分两者。代码不能对编译器来说是模棱两可的,但它真的不应该对阅读它的人来说是模棱两可的。

关于c# - 如果函数包含同名的局部函数,如何递归调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51009761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com