C#使用事件与委托的简单示例

C#事件委托示例:在本例中,我们展示了如何使用事件委托来处理数据接收。在C#中,事件和委托常用于解耦组件间的通信,使得当一个数据源接收到信息时,可以触发接收事件(Receive Event)来通知其他组件。以下是实现流程:

代码示例:

public delegate void DataReceivedEventHandler(string data);

public class MyData
{
    // 定义事件
    public event DataReceivedEventHandler DataReceived;

    public void ReceiveData(string data)
    {
        // 触发事件
        DataReceived?.Invoke(data);
    }
}

public class Receiver
{
    public void OnDataReceived(string data)
    {
        Console.WriteLine($"接收到的数据: {data}");
    }
}

// 使用示例
MyData myData = new MyData();
Receiver receiver = new Receiver();

// 事件订阅
myData.DataReceived += receiver.OnDataReceived;

// 模拟接收数据
myData.ReceiveData("示例数据");

说明

  1. DataReceivedEventHandler 是一个委托,用于定义事件的参数类型。
  2. MyData 类包含事件 DataReceived,当调用 ReceiveData 方法时触发该事件。
  3. Receiver 类中的 OnDataReceived 方法处理事件。

执行结果:当 myData 接收到数据时,自动触发 DataReceived 事件并调用 receiver.OnDataReceived 处理该事件。

rar 文件大小:31.54KB