산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# - 이벤트

이벤트 키 누르기, 클릭, 마우스 움직임 등과 같은 사용자 동작 또는 시스템 생성 알림과 같은 일부 발생입니다. 애플리케이션은 이벤트가 발생할 때 이벤트에 응답해야 합니다. 예를 들어, 인터럽트. 이벤트는 프로세스 간 통신에 사용됩니다.

대리인을 이벤트와 함께 사용

이벤트는 클래스에서 선언되고 발생하며 동일한 클래스 또는 일부 다른 클래스 내의 대리자를 사용하여 이벤트 핸들러와 연결됩니다. 이벤트를 포함하는 클래스는 이벤트를 게시하는 데 사용됩니다. 이를 게시자라고 합니다. 수업. 이 이벤트를 수락하는 다른 클래스를 구독자 라고 합니다. 수업. 이벤트는 게시자-구독자를 사용합니다. 모델.

게시자 이벤트 및 대리자의 정의가 포함된 개체입니다. 이벤트 대리자 연결도 이 개체에 정의되어 있습니다. 게시자 클래스 개체는 이벤트를 호출하고 다른 개체에 알립니다.

구독자 이벤트를 수락하고 이벤트 핸들러를 제공하는 객체입니다. 게시자 클래스의 대리자는 구독자 클래스의 메서드(이벤트 핸들러)를 호출합니다.

이벤트 선언

클래스 내에서 이벤트를 선언하려면 먼저 even에 대한 대리자 유형을 다음과 같이 선언해야 합니다.

public delegate string BoilerLogHandler(string str);

그런 다음 이벤트를 사용하여 이벤트를 선언합니다. 키워드 -

event BoilerLogHandler BoilerEventLog;

앞의 코드는 BoilerLogHandler라는 대리자를 정의합니다. 및 BoilerEventLog라는 이벤트 , 대리자가 발생할 때 호출합니다.

라이브 데모
using System;

namespace SampleApp {
   public delegate string MyDel(string str);
	
   class EventProgram {
      event MyDel MyEvent;
		
      public EventProgram() {
         this.MyEvent += new MyDel(this.WelcomeUser);
      }
      public string WelcomeUser(string username) {
         return "Welcome " + username;
      }
      static void Main(string[] args) {
         EventProgram obj1 = new EventProgram();
         string result = obj1.MyEvent("Tutorials Point");
         Console.WriteLine(result);
      }
   }
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

Welcome Tutorials Point

C 언어

  1. C# 클래스 및 개체
  2. C# 액세스 수정자
  3. C# 정적 키워드
  4. C# 추상 클래스 및 메서드
  5. C# 중첩 클래스
  6. C# 부분 클래스 및 부분 메서드
  7. C# 봉인된 클래스 및 메서드
  8. C++의 다형성
  9. C++의 데이터 추상화
  10. C++의 데이터 캡슐화