본문 바로가기
코딩연습/C#

[C#]대리자(delegate)

by 호아니 2020. 6. 12.

<대리자란??>
대리자에 메소드의 주소를 할당한 후 대리자를 호출하면
대리자가 메소드를 호출해줌

 

<구현과정>
1.대리자를 선언한다.
2.대리자의 인스턴스를 생성:인스터스 생성시 대리자가 참조할 메소드를 매개변수로 넘긴다.
3.대리자를 호출한다

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp12
{
class Program
{
delegate int Md(int a, int b); //delegate 반환형식 대리자이름 (매개변수 목록)
class Cal
{
public static int Plus(int a, int b)
{
return a + b;
}
public static int Minus(int a, int b)
{
return a - b;
}
}
static void Main(string[] args)
{

Cal cal = new Cal();
Md Callback;

Callback = new Md(Cal.Plus);
Console.WriteLine(Callback(3, 4));

Callback = new Md(Cal.Minus);
Console.WriteLine(Callback(7, 5));
}
}
}

'코딩연습 > C#' 카테고리의 다른 글

[C#]LINQ  (0) 2020.06.12
[C#]대리자의 이벤트  (0) 2020.06.12
[C#]대리자 체인  (0) 2020.06.12
[C#]강제로 예외던지기(throw)  (0) 2020.06.12
[C#]오라클 연동  (0) 2020.06.11