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.委託相當...