본문 바로가기

C#

Delegate(델리게이트)

하아.. 델리게이트를 좀 설명이 재대로 나온게 없는건 아니지만 어렵게 말들을 써놔서 쉽게 한줄로 정리합니다.



델리게이트란?

똑같은 자료형의 인자를 사용하는 함수들을 하나의 함수리스트로 모았다가 한번에 실행합니다.


델리게이트 문법 해석

<델리게이트 생성>

delegate 반환자 델리게이트 자료형 (델리게이트 자료형의 생성자에 들어갈 인자);

ex) delegate void temp(int x);

// int형 인자를 사용하는 함수들을 준비하셈


<선언>

자료형 이름

ex) temp a;


<처음추가>

a = new temp( 인자가 int형인 함수 );


<처음 이후 추가>

a += new temp( 인자가 int형인 함수 );


<함수 실행>

a();



함수의 리스트와 같은데.. 같은 자료형의 인자를 사용하는 함수들을 델리게이트형식의 변수에 계속 추가할 수 있습니다.

그리고 델리게이트에 추가된 함수 리스트들을 순차적으로 실행합니다.




델리게이트는 여러 함수를 사용하는 오브젝트에게 부여하는 것이지, 여러 오브젝트를 하나의 함수를 사용하게 하려고 할때 사용하기에는 불편하다.



위와 같은 계획을 가지고 있다면 각각의 오브젝틀를 리스트로 관리하고 해당 리스트들을 하나의 함수에 For문으로 돌면서 넣는게 효율적인것 같다.



'C#' 카테고리의 다른 글

람다 함수  (0) 2020.12.26
WOL(Wake On Lan) - C#  (0) 2020.07.20
List Copy  (0) 2016.01.05
클래스 참조  (0) 2015.12.19
List 사용...  (0) 2015.12.19