事件和委託 委託和事件區別 不斷更新

2022-02-12 04:07:40 字數 1148 閱讀 6545

01、簡單的委託

那委託需要承載哪些資訊呢?首先,它儲存了方法名,還有引數列表(方法簽名),以及返回的型別。比如:

delegate

string/*返回型別*/ processdelegate(int i);

這就是乙個委託的定義。藍色部分是宣告委託的關鍵字,紅色部分是返回的型別,而黑色部分是委託的型別名,和乙個類名差不多,而()裡的就是引數部分。它的意思是,你要使用這個委託來做事情的話,那麼,做事情的方法必須滿足以下條件:

1、返回型別和委託的返回型別一致,這裡是string型別;

2、能且只能有乙個引數,並且是int型別。

ok,滿足以上兩個條件,一切就可以工作了:) 

using system;

///委託

//////

//////

public

delegate

string processdelegate(string s1, string s2);

class program

}public

class test}}

02、泛型委託

using system;

///委託

//////

//////

public

delegate

string processdelegate(t s1, s s2);

class program

}public

class test}}

03、**方法

using system;

///委託

//////

//////

public

delegate

string processdelegate(string s1, string s2);

class program

}public

class test

public

string process1(string s1, string s2)

public

string process2(string s1, string s2)

public

string process3(string s1, string s2)}}

事件繫結和事件委託區別

靜態繫結,也是最直接的事件繫結 通過事件屬性,直接顯示的給元素繫結事件,例如 該方式缺點 當頁面多元素都要新增事件時,定義繁瑣。函式名稱定義改變,一次要修改兩個地方。動態繫結 關於事件監聽的適配 因為ie 有自己的事件監聽 attachevent 和detachevent 分別用於事件監聽 obtn...

委託和事件

主要過程如下 1.在後台 中,我們可以定義處理程式方法alartrang 2.然後定義委託,引用到處理程式方法的例項。3.最後將委託新增到事件中。從而,引發事件時就會呼叫相關的事件處理方法。若要使用在另乙個類中定義的事件,必須定義和註冊乙個事件處理程式。事件 處理程式必須具有與為事件宣告的委託相同的...

委託和事件

委託的宣告 public delegate void mydelegate string str 注1.委託的定義和方法的定義類似,只是在前面加了乙個delegate,但委託不是方法,它是一種型別。是一種特殊的型別,看成是一種新的物件型別比較好理解。用於對與該委託有相 同簽名的方法呼叫。2.委託相當...