본문 바로가기

delegate

(2)
C# event C# event delegate 는 메서드를 가리킬 수 있는 타입의 간편 표기법.event도 간편표기법. event를 사용하면 정형화된 콜백 패턴을 구현하려할때 코드를 줄일 수 있음.- 조건1. 클래스에서 이벤트(콜백)를 제공한다.2. 외부에서 자유롭게 해당 이벤트(콜백)을 구독하거나 해지하는 것이 가능하다.3. 외부에서 구독/해지는 가능하지만 이벤트 발생은 오직 내부에서만 가능하다.4. 이벤트의 첫번째 인자는 이벤트를 발생시킨 타입의 인스턴스다.5. 이벤트의 두번째 인자는 해당 이벤트에 속한 의미 있는 값이 제공된다.꽤 까다롭다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535..
C# delegate (콜백, 체인, 범용성) C# 델리게이트(delegate) : C#에서 메서드를 가리킬 수 있는 타입(C++의 함수 포인터, 함수형프로그래밍에서 일급 함수와 유사하다.)delegate로 선언한 타입이 메서드를 가리키기 때문에그 메서드를 직접 호출하는 것 대신에 delegate로 그 메서드를 호출할 수 있다.- 메서드를 직접호출하면되지 왜 굳이 delegate를 사용해서 호출할까? 는 잠시 후에..1. delegate 만들기 delegate가 어떤 메서드를 가리키기 때문에 그 메서드와 동일한 매개변수와 리턴타입으로 선언해야한다.1234567선언 구문=> 접근제한자 delegate 대상_메서드의_반환타입 타입명(대상_메서드의_매개변수들..);(예시에선 접근제한자 생략) delegate void Type1(void); // void ..