C#에서 사용자 정의 이벤트를 정의하고 사용하는 방법

清浅
풀어 주다: 2020-10-12 17:35:36
원래의
7102명이 탐색했습니다.

C# 프로그램에서 사용자 정의 이벤트를 정의하고 사용하는 방법: 먼저 클래스에서 이벤트를 정의한 다음 이벤트의 매개변수를 정의한 다음 TestClass에서 이벤트를 트리거하고 마지막으로 이벤트를 사용합니다.

C#에서 사용자 정의 이벤트를 정의하고 사용하는 방법

C# 프로그램에서 사용자 정의 이벤트를 정의하고 사용하는 단계는 다음과 같습니다. 먼저 클래스에서 이벤트를 정의한 다음 이벤트의 매개변수를 정의하고 TestClass에서 이벤트를 트리거한 다음 마지막으로 이벤트를 사용합니다

[ 추천 강좌: C# Tutorial

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿