반응형

델리게이트(delegate)에 미리 정의하지 않아도 되는 메서드명이 없는 메서드로 정의하지 않고 중괄호안에 명령문만 넣어서 간편하게 구현할수 있습니다.
인라인 메서드와 비슷한 형식을 보입니다.

형식
delegate( 매개변수 ) { 실행문 }

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        delegate void printNum(int nNum);
        static void Main(string[] args)
        {
 
            printNum print = delegate ( int nNum )
            {
                Console.WriteLine(nNum);
            };
 
            print(5);
        }
    }
}
 
 


다음과 같이 이벤트와 같이 사용하면서 넣을 수도 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    delegate void PrintNum(int nNum);
 
    class AAA
    {
        public event PrintNum print;
        public void totalOutPut()
        {
            print(5);
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            AAA aaa = new AAA();
 
            aaa.print += delegate(int nNum)
            {
                Console.WriteLine(nNum);
            };
 
            aaa.print += delegate(int nNum)
            {
                Console.WriteLine(nNum * nNum);
            };
 
            aaa.totalOutPut();
        }
    }
}
 
s
반응형

'개발공부 > C#' 카테고리의 다른 글

[C#] Action, Func  (0) 2019.10.22
[C#] 람다식(Lambda expressions)  (0) 2019.10.21
[C#] 제네릭  (0) 2019.10.19
[C#] 인덱서(Indexer)  (0) 2019.10.18
[C#] 이벤트(event) & 델리게이트(delegate)  (0) 2019.10.17

+ Recent posts