델리게이트(delegate) #1



delegate 뜻은 대리인,(집단의 의사를 대표하는) 대표(자)라는 뜻이 있다 무엇인가를'대신'해주는 느낌이다.


델리게이트는 메서드를 다른 메서드로 전달할 수 있도록 하기 위해 만들어 졌다.


정의

delegate string MyDelegate(string s);

델리게이트 선언의 중요점은 입력 파라미터와 리턴 타입이다.

사용하려는 메서드는 입력 파라미터타입및 갯수, 리턴타입이 같아야 한다.


객체 생성

MyDelegate del = new MyDelegate(Stringtest);

클래스 객체를 생성하는 것과 비슷한 방식으로 new를 통해 생성한다. 괄호 안에는 사용할 메서드명을 넣어 준다.


델리게이트 전달

del = new new MyDelegate(Stringtest);

Testdel(del);


void Testdel(MyDelegate m)

{

s1s2 = m("gogo");

}

델리게이트 객체를 메서드 호출 파라미터에 넣으면 된다.



 

참조 : http://www.csharpstudy.com/CSharp/CSharp-delegate-concept.aspx

반응형

+ Recent posts