Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 익명 메서드


C#의 익명 메서드를 사용하여 코드 블록을 C#의 대리자 매개변수로 전달합니다. 익명 메소드는 이름이 없고 본문만 있는 메소드입니다.

이것이 익명 메소드를 선언하는 방법입니다 -

delegate void DemoMethod(int n);
...
DemoMethod dm = delegate(int a) {
   Console.WriteLine("Our Anonymous Method: {0}", a);
};

위와 같이 익명 메서드의 본문은 다음과 같습니다. -

Console.WriteLine("Our Anonymous Method: {0}", a);

예시

C#에서 Anonymous 메소드를 구현하기 위해 다음 코드를 실행할 수 있습니다 −

using System;
delegate void Demo(int n);
namespace MyDelegate {
   class TestDelegate {
      static int num = 10;
      public static void DisplayAdd(int p) {
         num += p;
         Console.WriteLine("Named Method: {0}", num);
      }

      public static void DisplayMult(int q) {
         num *= q;
         Console.WriteLine("Named Method: {0}", num);
      }
      public static int getNum() {
         return num;
      }
      static void Main(string[] args) {
         Demo dm = delegate(int x) {
            Console.WriteLine("Anonymous Method: {0}", x);
         };
         //calling the delegate using the anonymous method
         dm(15);
         //instantiating the delegate using the named methods
         dm = new Demo(DisplayAdd);
         //calling the delegate using the named methods
         dm(10);
         //instantiating the delegate using another named methods
         dm = new Demo(DisplayMult);
         //calling the delegate using the named methods
         dm(4);
         Console.ReadKey();
      }
   }
}

출력

Anonymous Method: 15
Named Method: 20
Named Method: 80