c#:程序功能:给汽车类设计"加油”事件。(使用系统委托EventHandler)
时间: 2024-12-17 21:33:45 浏览: 6
在 C# 中,你可以通过设计一个名为 "Car" 的类,并添加一个自定义的 "加油" (Refuel) 事件,使用 System.Delegate 类型 EventHandler 来处理这个事件。这是一个基本的步骤:
1. **定义 Car 类**:
```csharp
public class Car
{
public event EventHandler<EventArgs> Refueled; // 定义 Refuel 事件
public void Refuel() // 模拟加油操作
{
Console.WriteLine("开始加油...");
OnRefueled(new EventArgs()); // 触发事件
}
protected virtual void OnRefueled(EventArgs e) // 用于触发事件的实际方法
{
Refueled?.Invoke(this, e); // 调用事件处理器
}
}
```
2. **事件处理器**:
```csharp
private delegate void RefuelEventHandler(object sender, EventArgs e);
// 示例中的事件处理器方法
public static void HandleRefuel(ref Car car)
{
if (car.Refueled != null)
{
car.Refueled.Invoke(car, EventArgs.Empty);
}
}
// 在需要的地方调用
var myCar = new Car();
myCar.Refueled += HandleRefuel;
myCar.Refuel(); // 这将触发 Refueled 事件并调用 HandleRefuel 方法
```
阅读全文