事件的標準模式

2022-01-22 15:00:10 字數 1302 閱讀 1406

摘自僅供參考學習

.net框架為事件程式設計定義了乙個標準模式,設定這個標準是為了讓.net框架和使用者**保持一致。system.eventargs是標準模式的核心,它是乙個沒有任何成員,用於傳遞事件引數的基類,首先定義eventargs:

1

public

class

pricechangeeventargs : system.eventargs

9 }

然後為事件定義委託,必須滿足以下條件:

由於考慮到每個事件都要定義自己的委託很麻煩,.net 框架為我們預定義好乙個通用委託system.eventhandler:

public delegate void eventhandler(object source, teventargs e) where teventargs : eventargs;

如果不使用框架的eventhandler,我們需要自己定義乙個:

public delegate void pricechangedeventhandler (object sender, pricechangedeventargs e);

如果不需要引數,可以直接使用eventhandler(不需要)。有了eventhandler,我們就可以這樣定義示例中的事件:

public class iphone6

最後,事件標準模式還需要寫乙個受保護的虛方法來觸發事件,這個方法必須以on為字首,加上事件名(pricechanged),還要接受乙個eventargs引數,如下:

1

public

class

iphone6

7...

8 }

下面給出完整示例:

public class pricechangedeventargs : system.eventargs 

}public class iphone6

public decimal price

set

}}class program ;

// 訂閱事件

iphone6.pricechanged +=iphone6_pricechanged;

// 調整**(事件發生)

iphone6.price = 3999;

console.readkey();

}static void iphone6_pricechanged(object sender, pricechangedeventargs e)

}

事件的標準模式

net 框架為事件程式設計定義了乙個標準模式。設定這個標準是為了讓.net框架和使用者 保持一致。system.eventargs是標準模式的核心,它是乙個沒有任何成員,用於傳遞事件引數的基類。按照標準模式,我們對於上面的iphone6示例進行重寫。首先定義eventargs public clas...

C 事件標準步驟

using system 第一步 定義事件引數型別 internal class newmaileventargs eventargs public string from public string to public string subject internal class mailmanag...

標準事件模型和IE事件模型

在瀏覽器解析事件的時候,有兩種觸發方式,一種叫做bubbling 冒泡 另外一種叫做capturing 捕獲 這裡不做過多解釋 這裡分析三種繫結事件模式 1 traditional module 傳統方式的事件模型即直接在dom元素上繫結事件處理器,例如 window.onload function...