重新整理一下,趁著現在專案有時間,還有那些語法糖,哎,最二了!delegate is a type that defines a method signature.'> 委託是一種定義方法簽名的型別。 當例項化委託時,您可以將其實例與任何具有相容簽名的方法相關聯。 您可以通過委託例項呼叫方法。msdn的解釋:
委託用於將方法作為引數傳遞給其他方法。 事件處理程式就是通過委託呼叫的方法。 您可以建立乙個自定義方法,當發生特定事件時某個類(例如 windows 控制項)就可以呼叫您的方法。
與委託的簽名(由返回型別和引數組成)匹配的任何可訪問類或結構中的任何方法都可以分配給該委託。 方法可以是靜態方法,也可以是例項方法。 這樣就可以通過程式設計方式來更改方法呼叫,還可以向現有類中插入新**。 只要知道委託的簽名,就可以分配您自己的方法。委託具有以下特點:
namespace
gxprojecttest.lambda
public
string demo2(testtest)
return
string
.empty;
}public
string demo3(teststrtt)
public
void
demo4(test t)
}public
delegate
void
test();
public
delegate
void test(int
a);
public
delegate
string test(int a, string
b);
public
delegate
string
teststr();
public
delegate
string teststr(int
a);
public
delegate
string teststr(int a, string
b);}
測試**
publicpartial
class
testdelegateweb : system.web.ui.page
public
void
test()
public
void test(int
a)
public
string test1(int a, string
b)
}
委託和事件使用示例
net 的事件模型建立在委託機制之上,透徹的了解了委託才能明白的分析事件。可以說,事件是對委託的封裝,從委託的示例中可知,在客戶端可以隨意對委託進行操作,一定程度上破壞了面向的物件的封裝機制,因此事件實現了對委託的封裝。下面,通過將委託的示例進行改造,來完成乙個事件的定義過程 public clas...
使用predicate和Action委託查詢
using system using system.collections.generic using system.linq using system.text namespace usepredicatedelegate public void predicatedelegate p list ...
委託和事件 7 委託使用案例 資料驗證控制項
編寫usercontrol,usercontrol內有乙個textbox,需要對textbox中的值進行驗證。將驗證時機 驗證報錯等寫在usercontrol中,把資料的不同的校驗邏輯通過delegate動態指定。public validate validator private void text...