使用delegate型別設計自定義事件

2022-03-24 03:42:26 字數 695 閱讀 9158

在c#程式設計中,除了method和property,任何class都可以有自己的事件(event)。

定義和使用自定義事件的步驟如下:

(1)在class之外定義乙個delegate型別,用於確定事件程式的介面

(2)在class內部,宣告乙個public event變數,型別為上一步驟定義的delegate型別

(3)在某個method或者property內部某處,觸發事件

(4)client程式中使用+=操作符指定事件處理程式 例子:

例子:

//定義delegate型別,約束事件程式的引數

public

delegate

void

myeventhandler(

object

sender, 

long

linenumber) ;

public

class

dataimports//}

//}

//以下為client**

private

void

callmethod()

//事件處理程式

private

void

da_enternewline(

object

sender, 

long

linenumber)

設計模式 Delegate

委派模式 在常用的23種設計模式中其實面沒有委派模式 delegate 的影子,但是在spring中委派模式確實用的比較多的一種模式,spring mvc框架中的dispatcherservlet其實就用到了委派模式,有前輩將其總結為 模式和策略模式的組合。下面通過乙個簡單的例項來總結委派模式 委派...

C 代表型別(delegate)

c和c 程式設計師看來,指標既是他們最強有力的工具之一,同時又給他們帶來了很多苦惱之處。因為指標指向的資料型別可能並不相同,比如你可以把int型別的指標指向乙個float型別的變數,而這時程式並不會出錯。而且,如果你刪除了乙個不應該被刪除的指標 比如windows中指向主程式的指標 程式就有可能崩潰...

委託Delegate使用幫助

using system using system.collections.generic using system.linq using system.text namespace 委託delegate 1,建立委託 public delegate void mydelegate string m...