C# 事件(Event)定义及其使用

1.定义个委托和类

//委托
public delegate void ProductEventHandler(Product product);

/// <summary>
/// 产品
/// </summary>
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;
  
    /// <summary>
    /// 模拟业务的异常记录方法
    /// </summary>
    /// <param name="product"></param>
    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;
}

相关推荐

  1. C# 事件(Event)定义及其使用

    2024-06-15 04:46:07       5 阅读
  2. c#的event使用(1)

    2024-06-15 04:46:07       40 阅读
  3. mysql定时任务-事件调度器(Event Scheduler)

    2024-06-15 04:46:07       10 阅读
  4. C# 一种基于 event 和 委托的事件机制

    2024-06-15 04:46:07       10 阅读
  5. Qt event事件发送

    2024-06-15 04:46:07       33 阅读
  6. MySQL中的事件Event

    2024-06-15 04:46:07       38 阅读
  7. Solidity智能合约事件(event)

    2024-06-15 04:46:07       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 04:46:07       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 04:46:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 04:46:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 04:46:07       18 阅读

热门阅读

  1. 一文搞懂OPC质量码

    2024-06-15 04:46:07       11 阅读
  2. MySQL(7)

    2024-06-15 04:46:07       8 阅读
  3. 1606 - 求一个两位数倒序的结果

    2024-06-15 04:46:07       8 阅读
  4. LeetCode 2848. Points That Intersect With Cars

    2024-06-15 04:46:07       7 阅读
  5. [xmake]xmake常用命令

    2024-06-15 04:46:07       8 阅读
  6. 虚幻引擎 Apple Vision Pro 快速入门指南

    2024-06-15 04:46:07       18 阅读
  7. HOW - CSS 常见效果实现

    2024-06-15 04:46:07       8 阅读
  8. 无理数的渊源

    2024-06-15 04:46:07       7 阅读