我只是在做一个需要引发和处理自定义事件的项目......我只是简化了一点代码并得到了这样的东西:
class Car
{
public int Speed { get; set; }
public delegate void SpeedTooHigh(string message);
public event SpeedTooHigh OnSpeedToHigh;
public Car(int speed)
{
this.Speed = speed;
if (speed >= 100)
{
if (this.OnSpeedToHigh != null)
{
this.OnSpeedToHigh("Car has a too high speed !");
}
}
}
}
以及我使用此类的主要课程:
class Program
{
static void Main(string[] args)
{
Car car = new Car(120, "Red", "Renault");
car.OnSpeedToHigh += OnCarSpeedToHigh;
Console.WriteLine("Test events");
Console.ReadKey();
}
static void OnCarSpeedToHigh(string message)
{
Console.WriteLine(message);
}
}
当我运行这个示例时,Car 类中的“OnSpeedToHigh”似乎一直为空。而且我不明白为什么,因为我在主类中创建了这个类的一个实例,并将速度设置为大于 100,以便调用“this.OnSpeedToHigh(“Car has a too high speed!”)”。
这足以引发事件、实例化类并将速度设置为大于 100 吗?
请让我知道这件事。