理解EventArgs和EventHandle

public class TestEventHandle : MonoBehaviour
{


    private void Start()
    {


        Consumer cr= new Consumer("Test");


        CarDealer carDealer = new CarDealer();


        carDealer.NewCarInfo += cr.NewCarIsHere;

        carDealer.NewCar("what are you doing???");

    }
}


public class CarInfoEventArgs : EventArgs
{

    public CarInfoEventArgs(string car)
    {

        this.Car = car;

    }


    public string Car { get; private set; }

}


/*
    该类提供了  EventHandler<CarInfoEventArgs> 类型的   NewCarInfo  事件,作为约定

    事件一般使用两个带参数的方法,其中第一个参数是一个对象,包含事件发送者,第二个参数提供了事件的相关信息

    第二个参数随着不同的事件类型而不同
 */

public class CarDealer
{

    public event EventHandler<CarInfoEventArgs> NewCarInfo;


    public void NewCar(string car)
    {

        if (NewCarInfo != null)
        {
            NewCarInfo(this,new CarInfoEventArgs(car));
        }
    }
}

public class Consumer
{
    private string m_Name;

    public Consumer(string name)
    {

        this.m_Name = name;
    }

    public void NewCarIsHere(object sender,CarInfoEventArgs e)
    {
        Type type = sender.GetType();

        

        Debug.Log(string.Format("{0}:car {1} is new",m_Name,e.Car));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L877790502

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值