天天看點

看到他我一下子就悟了---委托

看到大家的留言,我想說下我對委托的了解,首先看它的定義:

不用先看例子什麼的,你就多品味品味這句話,然後你看下使用委托的步驟,

1.定義一個委托

2.注冊該委托

3.使用委托

Ok就這麼簡單,其實委托就像大家常說的那樣:

它們就像是一道檻兒,過了這個檻的人,覺得真是太容易了,而沒有過去的人每次見到委托和事件就覺得心裡憋得慌,渾身不自在

其實不用怕,你就按着這三步來标準沒錯,下面來個小例子:

第一步:定義委托

第二步:注冊委托

這裡先定義一個方法

然後注冊

第三步:使用委托

OK,委托完成,其實不要怕,委托真的很簡單……

下面介紹幾個已定義好的委托

1.Action     Action是無傳回值的泛型委托。

    可以使用 Action<T1, T2, T3, T4> 委托以參數形式傳遞方法,而不用顯式聲明自定義的委托。 封裝的方法必須與此委托定義的方法簽名相對應。 也就是說,封裝的方法必須具有四個均通過值傳遞給它的參數,并且不能傳回值。 (在 C# 中,該方法必須傳回 void)通常,這種方法用于執行某個操作。

2.Func的使用

Func是有傳回值的泛型委托

3.predicate 是傳回bool型的泛型委托泛型委托:表示定義一組條件并确定指定對象是否符合這些條件的方法。此委托由 Array 和 List 類的幾種方法使用,用于在集合中搜尋元素。

 使用帶有 Array.Find 方法的 Predicate 委托搜尋 Point 結構的數組。如果 X 和 Y 字段的乘積大于 100,000,此委托表示的方法 ProductGT10 将傳回 true。Find 方法為數組的每個元素調用此委托,在符合測試條件的第一個點處停止。