c#委托、事件

    经常听到别人说委托,见到(object sender, EventArgs e)。今天特别学习了一下,有错望不吝赐教。

主要引用这篇文章。http://www.cnblogs.com/wudiwushen/archive/2010/04/20/1703763.html。

        首先说说委托。委托从形式上看是把对象当成参数使用,而对象本身就封装有属性、方法等,这样就可以间接的调用那个对象的一些操作了。

<span style="font-family:KaiTi_GB2312;font-size:18px;"> //定义一个委托
        public delegate void buytickesEventHandler();
        static void Main(string[] args)
        {
        buytickesEventHandler mydelete = new buytickesEventHandler(new yuangong().buyMoviceTickes);
        mydelete +=new yuangong().buyCarTickes;
        //委托附上方法
        mydelete();

        Console.ReadLine();


            
        }</span>

    但是,在一般情况下我们也可以通过实例化对象从而达到调用其方法,那这样委托不是加大工程量了吗?所以委托一般都用于处理一些特殊情况,这里有位大神给我举了个例子:导入EXcexl数据的例子,有一些方法封装在编译dll中供别人调用,但是如果你有新需求或者其他变动的话,dll开发者完全可以提供导入完成后的委托事件,把你自己需要执行的方法传给内部,让内部帮你执行你的方法。

    另外找了个比较形象的例子:生活中,如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师真真执行的是当事人的陈词,这时候律师就是一个委托对象。我觉得用委托是因为一些方法不能直接调用。

    另外委托被理解为“命令”,既然如此那必然至少得有命令的发布者和执行者了,发布者根据执行者的能力发出一些命令,以达到自己的目的。但是发布者又是怎么确定这些命令的内容呢?为什么要买电影票而不买车票呢?这里就需要用到事件了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值