1.定义个委托和类
public delegate void ProductEventHandler(Product product);
public class Product
{
public int Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
private decimal price;
public decimal Price
{
get { return price; }
set
{
price = value;
if(price > 10)
{
ProductChanged.Invoke(this);
}
}
}
public event ProductEventHandler ProductChanged;
public void RecordException(Product product)
{
Console.WriteLine($"事件被触发,价格波动异常:{product.Price}");
}
}
2.调用(通过属性值得变化去触发事件)
var product = new Product();
product.ProductChanged += product.RecordException;
while (true)
{
Console.Write("请输入价格:");
var num = Convert.ToDecimal(Console.ReadLine());
product.Price = num;
}