C#/C# Basic
delegate 02. Event
delegate 02. Event
2024.03.04이벤트는 대리자와 같은 개념으로, 대리자를 이해한 후 이벤트를 학습해야 한다.이벤트가 대리자와 다른점은, 이벤트는 메서드 안에서만 호출해서 사용 가능하다는 점이다. 이벤트가 시작되는 로직과, 이벤트에 영향을 받아 동작하는 로직을 구분하는것이 먼저다. 아래 예제는, 버튼이 눌려지면, 레이블에 문자열이 수정되는 구조를 구현한다고 가정하자.eg) [버튼 클릭 > 이벤트(대리자)] > 레이블 수정 1. 이벤트 선언 방법이벤트는 대리자를 event 한정자로 수식해서 만든다.[ event 키워드 ] [ 대리자 ] [ 이벤트이름 ]; 2. 이벤트 선언의 목적위 예제 구조에서 구현된 이벤트는, 이벤트를 형태의 선언이 목적이 아니다.레이블의 수정이 목적이다.시작은 Button 객체의 click 함수의 실행목적..
delegate 01.
delegate 01.
2024.03.04C# 은 MSDN이 정답이다. 함수 & 매개변수 학습목표언제나 그렇듯 프로그래밍 학습은 개발자 관점에서 대리자(delegate)라는 기술이, 프로그래밍에서 어떤 기존 개발 방법을 조금이라도 쉽고, 편리하게 하기 위한 것일까? 를 파악하는 것이 목표다. 학습순서Callback 개념과 Delegate 용어대리자를 사용하는 이유Delegate를 선언하고 사용하는 방법일반화 대리자를 사용하는 방법Multicast Delegete (대리차 체인) 01. Callback 개념과 Delegate 용어 01.1 Callback 의 구조 01.2 C# 의 Callback 의 구조 01.3 Delegate 용어 Delegate 라는 용어는, 한국어로 '대리자', '대리인'을 의미합니다.대신해서 일해주는 것을 전문..
Winform async, await
Winform async, await
2023.10.12윈폼 동기버튼을 누르면, RefreshLable( ) 이 실행되는 동안 다른 작업을 할 수 없다. 윈폼 비동기버튼을 누르면, RefreshLableAcync( ) 함수가 비동기로 동작하여 UI 동작에 영향이 없다.이 실행되는 동안 다른 작업을 할 수 있다. 윈폼 비동기, await C# async는 컴파일러에게 해당 메서드가 await를 가지고 있음을 알려주는 역할을 한다. async라고 표시된 메서드는 await를 1개 이상 가질 수 있다.하나도 없는 경우라도 컴파일은 가능하지만 Warning 메시지가 표시된다.
Thread 04. Task, Async, Await
Thread 04. Task, Async, Await
2023.10.05비동기 프로그래밍CPU(중앙처리장치)는 정말 많은 작업을 요청받고 처리한다. 데이터를 읽고 쓰고, 네트워크로 데이터를 주고 받고, 화면 픽셀을 계산하는 작업 모두 중앙처리장치의 처리가 필요하다. 이런 중앙처리장치가, 특정 작업의 완료를 기다리는 것은 너무 비효율적이다. 그래서 중앙처리장치가 비효율적으로 낭비되지 않도록 비동기 프로그래밍 기술을 사용하여, 중앙처리장치가 입출력과 같은 낭비될만한 작업을 기다리는 대신 다른 업무를 처리하도록 하고 입출력이 완료되었을 때 기존 작업을 다시 시작하도록 프로그래밍한다. C# 에서 비동기 프로그래밍C# 에서 비동기 프로그래밍 Thread, ThreadPool 기반 기술로 시작했지만, Task Parallel Library (TPL) 기반 기술과 async / awa..