ASP/ADO.Net C# 실무 과정 자료] 이벤트 사용 형식






ASP/ADO.Net C# 실무 과정 자료] 이벤트 사용 형식

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


이벤트 사용 형식


■ 위임 객체와 이벤트를 같이 정의

public delegate void DelegateName();

private event DelegateName EventName;



■ 이벤트 핸들러에 추가

Class1 a=new Class1();

EventName += newDelegateName(a.Method); 



■ 출판자가 이벤트를 전달하는 방법

public void Request(){

if (EventName != null) EventName();

}



ASP/ADO.Net C# 실무 과정 자료] 위임과 이벤트






ASP/ADO.Net C# 실무 과정 자료] 위임과 이벤트

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


위임과 이벤트


■ 이벤트를 사용하기 위해 반드시 위임을 같이 사용해야 한다.


■ 위임 리스트에 자신의 메소드를 등록시키는 것이 바로 이벤트 핸들러의 등록이다.


■ 출판자가 이벤트를 전하는 방법은 위임을 실행 시키는 과정이며 이때 위임 리스트에 들어있는 메소드가 모두 실행된다.


ASP/ADO.Net C# 실무 과정 자료] 이벤트 (Event)






ASP/ADO.Net C# 실무 과정 자료] 이벤트 (Event)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


이벤트 (Event)


■ 이벤트의 개념

- 마우스 버튼의 클릭, 키보드 조작은 모두 이벤트가 된다.


- 이 이벤트 들을 수신하고자 하는 객체에게 전달해야 한다.



■ 출판자(Publisher)/구독자(Subscriber)

- 출판자: 이벤트가 발생하면 특정 구독자에게 이벤트 발생을 통지


- 구독자: 이벤트 발생시 출판자로 부터 호출되어질 메소드를 등록한 객체들



ASP/ADO.Net C# 실무 과정 자료] 위임의 사용(3)






ASP/ADO.Net C# 실무 과정 자료] 위임의 사용(3)


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



위임의 사용(3)


설명)


■ 위임은 오브젝트와 비슷한 측면이 있다. 즉, + - 등의 연산이 가능한 것이다. 두개 이상의 위임을 합치기 위해서는 + 연산자를 사용하며, 두 메소드가 같은 위임으로 치환될 수 있어야 한다. (즉 파라미터 형식과 반환 형식이 같아야 한다)

c = new Simple(a.Minus) + new Simple(b.Plus);

■ 위와 같이 합쳐진 위임의 경우, C(10); 을 실행하는 것은 a.Minus(10); b.Plus(10);을 순차적으로 실행하는 것과 같은 역할을 한다.


■ 위임에 – 연산자도 가능하다.


■ +는 Combine 메소드 –는 Remove 메소드와 같다.



ASP/ADO.Net C# 실무 과정 자료] 위임의사용 (2)






ASP/ADO.Net C# 실무 과정 자료] 위임의사용 (2)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


위임의사용 (2)


설명)

■ 첫줄의 public delegate void Simple(int a); 과 같이 위임을 선언하고, Simple c = new Simple(a.Minus); 이런 식으로 위임을 생성한다.



■ 위임을 생성한 이후, C(10); 을 실행하는 것은 a.Minus(10); 을 실행하는 것과 같은 효과가 있다.



■ 맨 마지막 두 줄과 같이 Simple 위임은, 클래스및 오브젝트에 상관없이, 같은 형식의 모든 메소드를 위임받을 수 있다. 이후에 C(10); 을 실행하는 것은 b.Plus(10); 을 실행하는 것과 같은 효과가 있다.


ASP/ADO.Net C# 실무 과정 자료] 위임의사용 (1)






ASP/ADO.Net C# 실무 과정 자료] 위임의사용 (1)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



위임의사용 (1)


ASP/ADO.Net C# 실무 과정 자료] 위임의 생성






ASP/ADO.Net C# 실무 과정 자료] 위임의 생성

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


위임의 생성


Public delegate void Simple(int x);

■ 위와 같이 선언된 위임은 다음 메소드들을 위임받을 수 있다.

public static void M1(int x); // static 도 상관없다.

public void Method1(int z);


■ 첫줄과 같은 위임의 실제 생성은 다음과 같이 한다. (인스턴스 생성과 비슷하다.)

Simple a = new Simple(Method1);

Simple a = new Simple(Class1.Method1);

Simple a = new Simple(Object1.Method1);



ASP/ADO.Net C# 실무 과정 자료] 위임 (Delegate)






ASP/ADO.Net C# 실무 과정 자료] 위임 (Delegate)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


위임 (Delegate)


■ C#에서는 오브젝트의 메소드를 다른 이름으로 위임할 수 있는 방법을 제공한다.



■ 이 위임은, C/C++ 에서 사용하는 함수 포인터와 같은 역할을 하게 한다.



■ 선언된 위임은 동일한 파라미터와 반환형을 가지는 모든 메소드로 부터 위임을 받을 수 있다.



■ 위임 선언은 다음과 같다


public delegate 반환값형식 위임받은측의이름(파라미터 형식)

예) public delegate int DelegateName(int a, string b)


+ Recent posts