16년 12월 9일 작성
delegate, event
라이브러리 부분
1. delegate 선언
2. event 선언
실행 클래스 부분
1. 이벤트 등록( 여기서 실행 될 함수 포함)
2. 함수 정의 및 구현
라이브러리 소스
public delegate void data_in(byte[] data);
public static event data_in data_receive;
byte []qqqq = new byte[1024];
data_receive(qqqq);
끝.
클래스 소스
socket_lib.data_receive += new socket_lib.data_in(get_data);
public void get_data(byte[] msg)
{
string str_data;
//str_data = System.Text.Encoding.ASCII.GetString(msg); //아스키, 한글 깨짐
str_data = System.Text.Encoding.UTF8.GetString(msg); //UTF8로 변환
CheckForIllegalCrossThreadCalls = false; //임시
listBox1.Items.Add(str_data);
}
1. 라이브러리에서 event를 선언 data_in이라는 형식을 갖는 data_receive 이벤트
2. delegate에서 data_in이라는 형식은 void를 반환하고, byte[]라는 파라미터를 갖는다고 선언
3. 클래스에서 이벤트 할당 +=, 이벤트 발생했을 때 호출할 함수 메이크
결과
라이브러리에서 해당 이벤트 발생(시리얼 통신쪽에서 랜덤으로 들어올 때)했을 때, data_in(string)형식으로 클래스의 함수로 진입해서 실행 시킨다.
'IT프로그래밍' 카테고리의 다른 글
[알고리즘]C언어 약수 구하기 / C 약수 구하기 / C 약수 알고리즘(간단버전) (1) | 2017.05.24 |
---|---|
[알고리즘]C언어 약수의 개수 /약수의 개수 알고리즘 (1) | 2017.05.23 |
[C언어]C언어 독학 002 / C언어 강좌 002/ C언어 기초002[글자 출력 / Hello World] (0) | 2017.05.23 |
[C언어]C언어 독학 001 / C언어 강좌 001 / C언어 기초 001[프로젝트 만들기] (0) | 2017.05.22 |
Java exe파일 만들기 / JSmooth (0) | 2015.05.24 |
자바) 변수의 종류, 자바 변수의 종류 정리, 자바 변수 종류 (0) | 2015.04.18 |
c언어버블정렬 / 버블 정렬 / c언어 버블 정렬 / 버블 소팅 / c언어 버블 소팅 / 버블정렬 (1) | 2015.02.02 |
c언어 두 점 사이의 거리 / 두 점 사이의 거리 구하는 c언어 알고리즘 (0) | 2015.01.30 |
댓글