ホームページ >バックエンド開発 >C#.Net チュートリアル >C#でカスタムイベントを定義して使用する方法

C#でカスタムイベントを定義して使用する方法

清浅
清浅オリジナル
2019-03-09 16:50:377140ブラウズ

C# プログラムでカスタム イベントを定義して使用する方法: 最初にクラスでイベントを定義し、次にイベントのパラメーターを定義し、次に TestClass でイベントをトリガーし、最後にイベントを使用します。

C#でカスタムイベントを定義して使用する方法

C#プログラム内でカスタム イベントを定義して使用する手順は次のとおりです。まずクラス内でイベントを定義し、次にクラス内でイベントのパラメータを定義します。 TestClass イベントをトリガーし、最後にイベントを使用します。

[推奨コース: C# チュートリアル ]

C# プログラム内でカスタム イベントを定義して使用すると、次のことが可能になります。次のいくつかのステップに分かれます:

ステップ 1: クラスでイベントを定義します

using System;
public class TestClass
{
    //....
    public event EventHandler TestEvent
}

ステップ 2: イベント パラメーターを定義します

注 : イベント パラメーター クラス TestEventArgs は System.EventArgs から継承します

using System;
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}

ステップ 3: TestClass でイベントを発生させる

public class TestClass
{
    // 这个方法引发事件
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
    public event EventHandler TestEvent; 
}

ステップ 4: 使用しますイベント

class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        // 挂接事件处理方法
        tc.TestEvent += Tc_TestEvent;
         
        Console.WriteLine("按任意键引发事件");
        Console.ReadKey();        
        // 引发事件
        tc.RaiseTestEvent("通过事件参数传递的字符串");
         
        Console.WriteLine("按任意键退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        // 将事件参数强制转换为TestEventArgs
        TestEventArgs te = (TestEventArgs)e;
        // 显示事件参数中的Message
        Console.WriteLine(te.Message);
    }
}

#完全なプログラムは次のとおりです##

using System;
public class TestClass
{
    public void RaiseTestEvent(string message)
    {
        if (TestEvent == null) return;
        TestEvent(this, new TestEventArgs { Message = message });
    }
 
    public event EventHandler TestEvent; 
}
public class TestEventArgs : EventArgs
{
    public TestEventArgs() : base() { }
 
    public string Message { get; set; }
}
class Program
{
    static void Main(string[] args)
    {
 
        TestClass tc = new TestClass();
        tc.TestEvent += Tc_TestEvent;
        Console.WriteLine("按任意键引发事件");
        Console.ReadKey();
        tc.RaiseTestEvent("通过事件参数传递的字符串");
        Console.WriteLine("按任意键退出");
        Console.ReadKey();
    }
    private static void Tc_TestEvent(object sender, EventArgs e)
    {
        TestEventArgs te = (TestEventArgs)e;
        Console.WriteLine(te.Message);
    }
}

要約: 上記がこの記事の全内容です。みんなに役立つ。

以上がC#でカスタムイベントを定義して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。