본문 바로가기

delegate3

C# delegate 사용법 - 사례3 Window Application 타 Server로부터 Push Message를 받기 위해 Socket Class library를 작성중이다. 예전에 nsoftware사의 DotNetFramework 기반의 상용 모듈을 사용한 경험이 있어 비슷하게 구현할 생각인데 Socket Client/Server Module을 Class Library로 작성해 Recv된 데이터는 delegate를 이용해 받을 대상 원도우로 전달할 생각이다. 우선 Class Library에 MainWindow에 전달할 delegate event 생성한다. ... #region Event Delegates public delegate void OnCurTimeEventHandler(object sender, EvtArgs e); #en.. 2019. 12. 25.
C# delegate 사용법 - 사례2 WinForm 환경에서 C#으로 개발중 스레드 혹은 이벤트 콜백 내에서 화면의 Control에 접근하게 될 경우 아래와 같은 오류가 발생한다.(*'크로스 스레드 작업이 잘못되었습니다.')SerialPort 선언 후 DataReceived 이벤트 핸들러를 등록, SeriaPort 이벤트 핸들러 내에서 스캐너로부터 받은 데이터를 ListBox에 Add 시키는 과정이다. 직접 연결해서 접근할 수 없으니 우회해서 Add 시켜줄 수 밖에 없다. 여기서도 function pointer 즉 delegate가 이용된다.SerialPort objBarcodeScanner = new SerialPort();objBarcodeScanner.PortName = "COM4";objBarcodeScanner.BaudRate = .. 2019. 1. 15.
C# delegate 사용법 - 사례1 대리자 또는 대리인으로 해석되는데 이 개념은 이전에 MFC, Win32 개발시에 많이 사용하던 function pointer(함수 포인터)와 비슷한 개념이다.최근 DotNetFramework 환경에서 Application 개발로 WPF 기반 C# 언어로 네이티브 Windows Application을 개발중인데 여러가지 활용방법이 있겠으나 나의 경우엔 제일 많이 사용할때가 Parent Window와 UserControl와의 이벤트 전송에 사용했다.즉 Parent Window는 Loading된 UserControl 또는 Page 접근이 자유롭지만 UserControl에서는 Parent Window의 쉽지 않아 처리된 결과값을 delegate를 이용하여 Navigate 용도로 사용한다.예제는 Parent Wi.. 2019. 1. 5.