컴퓨터 과학 & 영상처리 관련/C# / .NET / JAVA
c# events
꺄뜨르
2012. 2. 5. 02:20
델리게이트를 일단 알아야되고...아래와 같이 사용하는듯
이벤트를 스스로 만드는걸 배운다는 점에서 배울게 많을듯
델리게이트 같았으면
MyEventHandler x = handlerFunction;
이었던게
public event MyEventHandler x;
myClass obj = new myClass();
obj.MyEvent += handlerFunction; 으로 좀 더 길어짐...
사용법을 좀 봐야 잘 알겠구먼 이건
어차피 나중에 다시 보고싶을때 이 영상을 언제든 다시 보면 되긴 하지만
델리게이트 만들고...event 만든델리게이트 myEvent 이렇게 생성해서
클래스 객체 만들고...객체.myEvent += 사용하고자 하는 함수(delegate로 연결 가능한)
이렇게 해두고...이벤트 발생시
예:)
string str;
stringValueChanged(str);
해당 이벤트 함수가 출력되게 가능한거?
+는 시작한다는거?
-는 stop한다는거?
델리게이트를 클래스 안에 넣지 않아도 되고 네임스페이스 안에 넣어도 되는구나? 저렇게만 되나?
myEvt_valueChanged는 빨간줄이다...
그래서
객체 myEvt를 만들고
MyEvt.valueChanged 이벤트에 델리게이트에서 아까 만들었던 myEventHander(myEvt_valueChanged);를 하게하고
myEventHander 와 리턴값,인자가 같은 함수를 만듬
아래는 joe를 입력하면 value가 바뀌었다고 출력됨...
왜냐면 val 변수의 property에서
this.theValue = value;
this.valueChanged(theValue); 와 같이 이벤트를 호출했기 때문