我在玩本地功能,如果包含相同名称的本地功能,我不知道如何调用主机功能。
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
}
}
答案 0 :(得分:8)
您可以在呼叫前加上this
:
Foo(); // calls the local function
this.Foo(); // calls the class instance function
尽管,即使有这样一种可行的解决方法,仍强烈建议使用更好的函数名称来更清楚地区分两者。代码不能对编译器来说是模棱两可的,但是对阅读它的人来说,真的也不应该是模棱两可的。