C#j静态事件demo
时间: 2023-07-12 22:17:26 浏览: 55
以下是一个简单的 C# 静态事件 demo:
```csharp
using System;
delegate void EventHandler(string message);
class EventDemo
{
static void Main()
{
MyClass.OnMessage += new EventHandler(ShowMessage);
MyClass.Message = "Hello World!";
}
static void ShowMessage(string message)
{
Console.WriteLine("Message: {0}", message);
}
}
class MyClass
{
public static event EventHandler OnMessage;
private static string message;
public static 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` 方法来显示消息。由于 `OnMessage` 事件是静态的,所以我们不需要创建 `MyClass` 对象就可以访问该事件。