c#---委托到底是什麽,爲麽需要委托

委托到底是什麽,爲麽需要委托

首先,我們來説説面向對象,所謂面向對象是對不同職階的地位對象的封裝,通俗的說就是專業的事情交給專業的人做;又比如在《fate》中具有七個職階,不同的職階都有其自己的專屬技能和所擅長的領域。
然而,對象想學習新的技能就得繼承繼承的弊端在于會使一個類過於龐大而且有些方法,并不是我們現在的這個子類所需要的。
來到這裏,就有我們的委托了。我們日常生活中的委托是這樣子的,我們就將我們的快遞交給快遞小哥(我們委托小哥送快遞),但是快遞小哥不僅接受我們的委托還可以接受多個人的委托的嘛(委托的包裝特性,能夠將各個類的方法 組裝到一個委托中),到約定的時間(調用組裝的方法),快遞小哥就給我們把快遞送到指定的客戶手中。

如何用

class program1:

class Program1
    {
        void printLow()//組裝的函數的返回類型與簽名要與委托的聲明保持一致
        {
            Console.WriteLine("{0}-Low Value", "L");
        }
    
     }

class progaram2:

class Program2
    {
        void printHeight()//組裝的函數的返回類型與簽名要與委托的聲明保持一致
        {
            Console.WriteLine("{0}-Hight Value", "H");
        }

Main

using System;

namespace Del
{
    delegate void MylDel(int value);			//第一步:聲明委托類型
    
        static void Main()
        {
            Program1 program1 = new Program1(); //聲明變量program1 
            									//引用Program1()實例對象
            
            Program2 program2 = new Program1();	//聲明變量program2 
            									//引用Program2()實例對象

            MylDel del; 						//第二步:聲明委托變量

            //創建一個包含PrintLow和PrintHight的委托對象並將其賦值給del變量
            del =  new MylDel( 					//引用實例化對象
                program1.printLow 
            );
            del+=program2.printHeight			//添加方法

            del();								//執行委托 調用委托中的所有方法
        }
    }
}

參考

《C#圖解教程》—第十三章 委托 P238~248

如何通俗易懂的理解c#中的委托和事件,另外,.net和c#有哪些具体的关系?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值