工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# - イベント

イベント キーの押下、クリック、マウスの移動などのユーザー アクション、またはシステム生成の通知などの発生です。アプリケーションは、イベントが発生したときにそれに応答する必要があります。たとえば、割り込み。イベントはプロセス間通信に使用されます。

イベントでのデリゲートの使用

イベントはクラスで宣言および発生され、同じクラスまたは他のクラス内のデリゲートを使用してイベント ハンドラーに関連付けられます。イベントを含むクラスは、イベントの公開に使用されます。これは発行者と呼ばれます クラス。このイベントを受け入れる他のクラスは subscriber と呼ばれます クラス。イベントは publisher-subscriber を使用します モデル。

出版社 イベントとデリゲートの定義を含むオブジェクトです。イベント デリゲートの関連付けも、このオブジェクトで定義されます。パブリッシャー クラス オブジェクトがイベントを呼び出し、他のオブジェクトに通知されます。

購読者 イベントを受け取り、イベント ハンドラを提供するオブジェクトです。パブリッシャー クラスのデリゲートは、サブスクライバー クラスのメソッド (イベント ハンドラー) を呼び出します。

イベントの宣言

クラス内でイベントを宣言するには、まず、イベントのデリゲート型を次のように宣言する必要があります:

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++ でのデータのカプセル化
  11. C# - プログラム構造