>

로컬 함수를 둘러 보았는데 같은 이름의 로컬 함수가 포함 된 호스트 함수를 호출하는 방법을 알 수 없었습니다.

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
    }
}

  • 답변 # 1

    this 로 전화를 걸 수 있습니다. :

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

    이와 같이 작동하는 해결 방법이 있더라도 더 나은 기능 이름을 사용하여 두 기능을 더 명확하게 구별하는 것이 여전히 권장됩니다. 코드는컴파일러에게 모호 할 수는 없지만실제로 그것을 읽는 사람에게는 모호해서는 안됩니다

    .

  • 이전 c - 이진 파일 작성 및 읽기
  • 다음 java - 파일에 쓸 수 없습니다