C#事件demo
时间: 2023-07-12 10:17:26 浏览: 50
以下是一个简单的 C# 事件 demo:
```csharp
using System;
delegate void EventHandler(string message);
class EventDemo
{
static void Main()
{
MyClass obj = new MyClass();
obj.OnMessage += new EventHandler(ShowMessage);
obj.Message = "Hello World!";
}
static void ShowMessage(string message)
{
Console.WriteLine("Message: {0}", message);
}
}
class MyClass
{
public event EventHandler OnMessage;
private string message;
public string Message
{
get { return message; }
set
{
message = value;
if (OnMessage != null)
{
OnMessage(message);
}
}
}
}
```
在这个 demo 中,我们定义了一个名为 `MyClass` 的类,其中包含一个公共事件 `OnMessage` 和一个私有字段 `message`。当 `message` 字段的值发生变化时,会触发 `OnMessage` 事件。在 `Main` 方法中,我们创建了一个 `MyClass` 对象,并且订阅了 `OnMessage` 事件。当我们设置 `Message` 属性的值时,`OnMessage` 事件会被触发,并且会调用 `ShowMessage` 方法来显示消息。