반응형
델리게이트(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 |