본문 바로가기

delegate

Delegates and Events in C# / .NET http://www.akadia.com/services/dotnet_delegates_and_events.html Content Overview Delegates Call a Function directly - No Delegate The very basic Delegate Calling Static Functions Calling Member Functions Multicasting Events Conventions Simple Event The Second Change Event Example Conclusion Overview All of us have been exposed to event driven programming of some sort or the other. C# adds on val..
List 제네릭의 FindAll 와 delegate 로 동일한값 비교하기 public void Main() { var developers = new List(new [] { "Woody Allen", "Bill Gates" } ); var greatDeveloperFirstName = "Bill"; var greatDevelopers = developers.FindAll( delegate (string developerName) { return developerName.StartsWith(greatDeveloperFirstName); }); }
델리게이트와 이벤트(Event)의 관계에 대한 설명(2) 이번에는 우리가 기존부터 가지고 활용했던 자동차의 소스를 가지고 요리해 볼 생각입니다. 소스를 event 와 delegate 를 활용한 부분만 소스를 나누어서 설명하고, 총체적은 소스는 자료게시판에 올릴 것이니 다운받으셔서 테스트 해보시기 바랍니다. 115줄과 121줄에 대해 간략히 설명을 하겠습니다. 120번 줄에 OnCarReqMessage(this,e)는 이벤트에 보낼 객체는 this 로 표기했습니다. 본인 자체이기 때문이죠. 그리고 event 의 매개인자로 사용하기 위해 117번째줄에 CarMessageEventArgs의 객체를 생성하였습니다. 클래스는 130번줄에 있습니다. EventArgs 를 상속받아서 처리하고 있는데요. 아직 상속에 대해 설명을 드리지 못했는데요. 이 ":" 라는 구분자를 ..
델리게이트와 이벤트(Event)의 관계에 대한 설명(1) 이벤트란 무엇일까요? 심재운님 !! 이벤트가 파티이벤트나 결혼이벤트..이런 것인가요? .... 저도 잘.... ^^; 그래서 영어사전을 오늘도 뒤져 보았습니다. "사건"이라고 하고 뭔가 발생된다고 하네요. 간단히 정의를 하면... 다른 객체에게 뭔가 일어났다~~... 후딱 그러니까 이에 해당되는 코드는 나와서 실행해라. .... 라고 명령을 주는 겁니다. 보통 윈도우 응용프로그램이나 GUI 프로그래밍에서 많이 사용되는 방법입니다. 비유를 하자면 우리 모두가 어떤 선택을 해서 해당되는 기능이 실행될 수 있도록 연결해 주는 역할을 이벤트가 합니다. 우리는 이런 이벤트를 델리게이트와 함께 사용할 것입니다. 이벤트에는 이벤트를 보내는 객체와 받는 객체, 그리고 이벤트 핸들러로 구성되어 있어요. 특정 버튼을 클릭..
델리게이트(Delegate) 연산에 대한 설명 이번에는 델리게이트 연산에 대해 설명을 하고자 합니다. 델리게이트는 더하거나 뺄수가 있답니다. 또한 여개가 묶인 delegate 를 특정 delegate 만 제거할 수도 있답니다. 이해가 안가신다면 간단한 예를 들어보죠. 델리게이트 c를 부르면 a와 b가 동시에 부르게 됩니다. 간단히 표현을 하면 c = a + b; 델리게이트 d에 c와 a 를 빼고자 한다면? d = c - a; 이렇게 표기하면 됩니다. 우리가 지속적으로 만들어 가고 있는 Car 클래스를 가지고 작업을 해 보겠습니다. 소스가 점점 길어져서 추가할 부분만 제가 추출해서 소스를 올립니다. 예를 살펴보죠. 4번째줄에서 delegate 를 선언했습니다. 84줄의 메소드와 93줄의 메소드를 위임할 생각입니다. 따라서 데이터형식이 int 형이고 인..
델리게이트(Delegate)에 대한 설명 이번에는 delegate 을 살펴보겠는데요. 먼저 사전을 뒤져보니 흠... 위임이라고 하네요. 무엇을 위임하겠다는 의미인지 깊에 살펴봐야 겠는데요. 제가 삼국지3를 하면서 위임이라는 기능이 있더군요. 보니까, 왕대신 니가 맡아서 운영해라..~~ 아예 권한을 주더군요. 자.~~ 왕이 귀찮으니 니가 해라는 것 같은데요. 왕을 메소드로 비유하고 니는 delegate 가 하면 되겠네요. c#을 하면서 delegate 부분에 대해 매우 어려워하는 분들이 많죠. 정말 중요한 부분이니 꼭 이번에 배우고 넘어가죠. 모른다면 c#을 배웠다고 말하기엔 좀..그렇죠..^^; 델리게이트는 메소드를 참조하는 데이터 형식입니다. C++ 의 함수 포인터와 비슷하나 인스턴스화 되어 클래스의 정적 메소드와 클래스의 특정 인스턴스의 메..