Latest web development tutorials

C #을 익명 메소드

우리는 이미 언급 한 기준에 대해 동일한 라벨을 갖는 위임 방법입니다했다. 즉, 대리자 개체가 대리자 메서드 호출에 의해 참조 할 수 있습니다 사용할 수 있습니다.

익명 방식 (익명 방법) 대리자 파라미터 기술로 패스 코드 블록을 제공한다.익명의 방법뿐만 아니라, 메인 메소드의 이름이다.

익명 방법, 당신은 그것을 추론 방법 본체 내부의 return 문이며, 반환 유형을 지정할 필요가 없습니다.

익명 메서드 구문을 쓰기

대리자 인스턴스 키워드를 만들어 익명 방법은대리자를 선언합니다.예를 들면 :

무효 NumberChanger (INT의 N)를 위임;
...
NumberChanger NC = 대리인 (INT의 배)
{
    Console.WriteLine ( "익명 방법 : {0}", x)를;
};

코드 블록Console.WriteLine을 ( "익명 방법 : {0}", x)는, 익명 메소드의 주제이다.

익명의 방법으로 호출 할 수 위임은 위임 객체 메소드에 매개 변수를 전달하여, 즉, 방법을 이름에 의해 호출합니다.

예를 들면 :

노스 캐롤라이나 (10);

다음의 예는 익명 메소드의 개념을 보여줍니다

시스템을 이용하여;

무효 NumberChanger (INT의 N)를 위임;
네임 스페이스 DelegateAppl
{
    클래스 TestDelegate
    {
        정적 INT의 납입 = 10;
        공공 정적 무효 ADDNUM (INT 피)
        {
            NUM + = 피;
            Console.WriteLine는 ( "방법 이름 : {0}", NUM);
        }

        공공 정적 무효 MultNum (INT q를)
        {
            NUM * = Q;
            Console.WriteLine는 ( "방법 이름 : {0}", NUM);
        }
        공공 정적 INT getNum ()
        {
            NUM을 반환;
        }

        정적 무효 메인 (문자열 []에 인수)
        {
            대리자 인스턴스를 만들 수 // 사용 익명 메소드 NumberChanger NC = 대리인 (INT의 배)
            {
               Console.WriteLine ( "익명 방법 : {0}", x)를;
            };
            
            // 익명의 대리인 노스 캐롤라이나 (10)를 사용하여 메서드 호출;

            // 새로운 NumberChanger (ADDNUM를) = NC 대리자를 인스턴스화 명명 된 방법을 사용;
            
            //라는 대리자를 사용하여 메소드 호출 노스 캐롤라이나 (5);

            // 새로운 NumberChanger (MultNum를) = NC 대리자의 인스턴스를 다른 이름 지정 방법을 사용하여;
            
            //라는 대리자를 사용하여 메소드 호출 노스 캐롤라이나 (2);
            Console.ReadKey ();
        }
    }
}

상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를

익명 방법 : 10
명명 방법 : 15
명명 방법 : 30