c#设计一个类,并设计一个对应事件,举一个实例
时间: 2024-01-31 19:04:17 浏览: 65
C# 事件的实例
设计一个类:Car(汽车)
对应事件:EngineOverheating(发动机过热)
实例:
```csharp
using System;
class Car
{
public string Model { get; set; }
public int MaxTemperature { get; set; }
private int currentTemperature;
public event EventHandler EngineOverheating;
public void Drive(int speed)
{
currentTemperature += speed;
if (currentTemperature > MaxTemperature)
{
OnEngineOverheating(EventArgs.Empty);
}
}
protected virtual void OnEngineOverheating(EventArgs e)
{
EngineOverheating?.Invoke(this, e);
}
}
class Program
{
static void Main(string[] args)
{
Car myCar = new Car
{
Model = "Toyota",
MaxTemperature = 100
};
myCar.EngineOverheating += (sender, e) =>
{
Console.WriteLine("发动机过热!");
};
myCar.Drive(80);
myCar.Drive(40); // 这里会触发 EngineOverheating 事件,因为当前温度已经超过了最大温度
}
}
```
在这个例子中,我们设计了一个类“Car”,并且设计了一个对应事件“EngineOverheating”。当Car对象的currentTemperature属性超过了最大温度(MaxTemperature)时,我们会触发EngineOverheating事件。在程序中,我们为myCar对象注册了一个EngineOverheating事件的处理程序,当myCar对象的currentTemperature超过了最大温度时,这个处理程序会被调用,输出“发动机过热!”的信息。
阅读全文