標籤:
關於委託自己在工作中很少遇到,漸漸的覺得不是很重要,但在筆試中有經常被考到,所以翻了寫資料查看了一下,委託顧名思義就是叫把事情交給別人做,我會以一個故事的方式闡述委託是什麼。
我這裡有兩個人
PMWang
//1.0老王打算增加一台電腦 private int _num = 1; public void BuyComputer(){ //2.0可是沒時間啊!叫小李去買? Console.WriteLine("小李去買個一台電腦"); //5.0叫小李去買 buyDelegate(_num); } //3.0老王打算叫小李去買 這裡就定義了一個委託 public delegate void LetLiBuyComputer(int num); //4.0聲明這個委託 public LetLiBuyComputer buyDelegate;
SELi
//小李有個買電腦的方法 public void BuyComputer(int num) { Console.WriteLine("好的!"); Console.WriteLine("出門"); Console.WriteLine("乘車"); Console.WriteLine("購買到一台電腦"); Console.WriteLine("回公司"); Console.WriteLine("李:王經理我買來一天電腦"); }
Main()
static void Main(string[] args) { //1.0老王來了 PMWang wang = new PMWang(); //2.0小李也到了 SELi li = new SELi(); //4.0老王的委託 先看3.0好理解這個委託過程 註:編程中不能改變 wang.buyDelegate = new PMWang.LetLiBuyComputer(li.BuyComputer); //3.0老王買電腦 wang.BuyComputer(); Console.Read(); }
當執行wang.BuyComputer()調用老王買電腦,老王並不想去執行買電腦的一系列過程就委託給小李,小李中的BuyComputer()才是執行買電腦的動作。這就是委託執行的買電腦方法,動作的執行者是小李的BuyComputer()。
C# 委託