使用c#,但是大多數時候用不上委託,但是委託被討論得非常多,於是陷入自我懷疑,我是不是太菜了?我不禁問:為什麼要使用委託?
可能試圖了解過委託的同學,都被告知委託跟函式指標的關係,又或者被告知乙個生活化的舉例:委託就是委託別人執行一件事。
可能很多人嘗試了解委託的時候都停在這一步,他們了解了委託的寫法,尋思:委託也不能簡化寫法,而且做了和函式同樣的事情,為什麼要費勁巴拉的使用委託來間接完成函式呼叫呢?
想到這,我甚至有點生氣,為什麼他媽的要使用委託?
那就說說為什麼要他媽的使用委託!
class
program
}//第乙個類:product類,具有乙個string型別的屬性name,描述產品的名稱
class
product
}//第二個類:box類,具有乙個product型別的屬性,盒子中有乙個product
class
box}
//第三個類:裝箱,構造器接收乙個引數,引數為乙個委託型別,該委託返回乙個product型別的物件
//將引數返回的物件,放入box中,完成裝箱
class
wrapfactory
}//第四個類:product製造工廠,容納製造各種product的方法,方法數量可依需求擴充套件
//但特點是返回值均為product型別,無引數,即可被同一種委託型別呼叫
class
productfactory
public
product
maketoycar()
}
class
program
}class
logger
' created at .price is "
, product.name, datetime.utcnow, product.price);}
}class
product
public
double price
}class
box}
class
wrapfactory
box.product = product;
return box;}}
class
productfactory
;return product;
}public
product
maketoycar()
;return product;
}}
什麼是委託?為什麼要使用委託?什麼是事件?
1 什麼是委託?首先宣告乙個委託 public delegate string islengthfive string s 下面寫幾個方法 public string dowork string a public string dosomework string b public string do...
c 學習筆記 為什麼要使用委託
為什麼需要委託?為什麼不直接在mymethod方法裡直接呼叫add方法,反而要例項化乙個委託物件來完成呼叫呢?這豈不是自找麻煩嗎?當然,c 引入委託並不是自找麻煩。委託是c 最好的乙個特性,它為後來的很多特性都打下了基礎。委託使得乙個方法可以作為另乙個方法的引數進行傳遞,這就是委託最大的作用。如下例...
理解委託 delegate 及為什麼要使用委託
上述為官方說法,理解起來比較難,舉個生活中的例子 如何呼叫委託 用new關鍵字 將方法名作為引數 生成乙個委託物件,建立委託與方法的關聯。getvalue obj new getvlaue class.getvalue1 obj 3 result 3 getvalue obj new getvlau...