<a href="http://www.cnblogs.com/wolf-sun/p/3871192.html#t1">委托</a>
<a href="http://www.cnblogs.com/wolf-sun/p/3871192.html#t4">action</a>
<a href="http://www.cnblogs.com/wolf-sun/p/3871192.html#t2">func</a>
<a href="http://www.cnblogs.com/wolf-sun/p/3871192.html#t5">總結</a>
<a href="http://www.cnblogs.com/wolf-sun/p/3293150.html">委托的那些事</a>
關于委托的基本定義,在很久之前的這篇文章中,有個簡單的介紹。稍微回顧一下。
委托是c#中類型安全的,可以訂閱一個或多個具有相同簽名方法的函數指針 聲明委托的方式:delegate 傳回值類型 委托類型名(參數) 例如:



上面介紹了,平時用委托的一般方式,先聲明委托,然後再去使用,有點麻煩,.net中有已經定義好的委托類型,可以拿來直接用。
action委托有兩種方式:無參數無傳回值的委托,有至少一個最多16個的參數無傳回值的泛型委托。
action泛型委托根據輸入參數個數的不同,action委托有十六個重載
用action改寫上面的例子,上面的例子中委托是無傳回值有string類型的輸入參數,是以使用action的泛型版本。


結果:
上面代碼中,列出了action泛型委托的使用方式,以及使用lambda的方式,action也可以使用匿名方法,選擇一種自己上手的來用即可。
如果要用有輸入參數,有傳回值的委托,那麼func委托将滿足你的要求。
func泛型委托,可以沒有輸入參數,但必須有傳回值。根據輸入參數的多少有17個重載。
in:輸入參數
out:輸出參數,也就是傳回值。
一個案例
輸入名字,年齡,性别,對年齡,性别,姓名進行修改後輸出。


func泛型委托,可以沒有輸入參數,但是必須有輸出參數。
action:無參數無傳回值委托。
action<t>:泛型委托,無傳回值,根據輸入參數的個數不同有十六個重載。
func< out t>:無輸入參數,有傳回值。
func<in t,out t>:有輸入參數,有傳回值,根據輸入參數個數不同,有十六個重載。
action和func中可以使用lambda和匿名方法處理方法體内邏輯。
(天太熱,人很躁,在你不知道做什麼的時候,不如靜下來對基礎進行查漏補缺,能掌握一點是一點,别總抱怨,總煩躁,就算你抱怨,煩躁,最後該完成的事還是你的,不多不減就在那裡,夏天這天氣,太煩躁,啥事都不做了嗎?難道敲代碼不是一件開心的事嗎?)
部落格位址:
<a href="http://www.cnblogs.com/wolf-sun">http://www.cnblogs.com/wolf-sun/</a>
部落格版權:
本文以學習、研究和分享為主,歡迎轉載,但必須在文章頁面明顯位置給出原文連接配接。
如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起讨論,共同進步!
再次感謝您耐心的讀完本篇文章。
轉載:http://www.cnblogs.com/wolf-sun/p/3871192.html