自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET事件在實際應(yīng)用中的作用體現(xiàn)

開發(fā) 后端
我們在這里以一段代碼示例來為大家詳細解讀有關(guān)VB.NET事件的一些相關(guān)使用技巧,希望大家可以通過這一范例充分了解其中概念。

VB.NET事件在實際應(yīng)用中具有非常重要的意義。對于開發(fā)人員來說,首先要掌握的就是VB.NET事件這樣的基礎(chǔ)知識。下面我們就來通過這篇文章介紹的內(nèi)容對此進行一個詳細的解讀。#t#

VB.NET中的類的構(gòu)造函數(shù)是

  1. sub New()   
  2. end sub  

當然,你也可以加參數(shù)。比如Human類的構(gòu)造函數(shù):

  1. sub New(Byval Name as string, 
    byval Gender as String, byval 
    Stature as integer)   
  2. me.Name = Name 'me是VB.NET中的
    關(guān)鍵字,表示對象自己,如同java中   
  3. me.Gender = Gender '的this。
    java中的super在
    VB.NET中就是MyBase   
  4. me.Stature = Stature   
  5. end sub  

這樣,我們的老王就是

  1. dim LaoWang As new Human
    ("老王", "男", 177)   

 

這樣的話,構(gòu)造Human對象的時候就必須帶參數(shù)了。我們可以另加一個不帶參數(shù)的New過程。這里就略過了。

 

對象不是死的,是活的。對象應(yīng)該能夠主動向外界做出一些表示。這就是事件。比如一個人生了病。這個時候我們就要把他送到醫(yī)院去。我們先在Human類當中定義一個VB.NET事件:

  1. public event FallIll  

我們假設(shè)某人暴飲暴食,吃出病了。在Eat過程中寫上:

  1. public sub Eat()   
  2. raiseevent FallIll 
    'raiseevent用來引發(fā)一個事件   
  3. end sub  

 

外界怎樣來接收這個事件呢?用AddHandler。我們要在sub Main中先定義一個過程:

  1. sub GoToHospital   
  2. Console.WriteLine
    ("病人被送到醫(yī)院去了。")   
  3. end sub   

 

然后將這個過程綁定到一個具體的對象的事件上:

  1. AddHandler LaoWang.FallIll, 
    AddressOf GoToHospital  

這樣,一旦執(zhí)行LaoWang.Eat,就會引發(fā)FallIll事件,這時GoToHospital過程就會執(zhí)行。VB.NET事件完整的代碼如下:

  1. imports System   
  2. public module MyModule  

sub Main '在sub Main中并未直接調(diào)用GoToHospital。

  1. dim LaoWang as Human   
  2. LaoWang = new Human("老王", "男", 177)   
  3. AddHandler LaoWang.FallIll,
     AddressOf GoToHospital   
  4. Console.writeline("{0}, {1}, 
    身高{2}厘米", _   
  5. LaoWang.Name, LaoWang.Gender,
     LaoWang.Stature)   
  6. LaoWang.Eat() '這里引發(fā)事件   
  7. Console.Read   
  8. end sub   
  9. sub GoToHospital   
  10. Console.WriteLine("病人被送到醫(yī)院去了。")   
  11. end sub   
  12. end module   
  13. public class Human   
  14. public Name as String   
  15. public Gender as String   
  16. public Stature as integer   
  17. sub New(Byval Name as string, byval 
    Gender as String, byval Stature as integer)   
  18. me.Name = Name   
  19. me.Gender = Gender   
  20. me.Stature = Stature   
  21. end sub   
  22. sub New() '不帶參數(shù)的構(gòu)造函數(shù)   
  23. end sub   
  24. public event FallIll   
  25. public sub Eat()   
  26. raiseevent FallIll   
  27. end sub   
  28. public sub Sleep()   
  29. end sub   
  30. public sub SeeADoctor()   
  31. end sub   
  32. public function Born() as Human   
  33. if Gender = "女" then   
  34. return new Human("","",50)   
  35. else   
  36. return nothing   
  37. end if   
  38. end function   
  39. end class  

 

VB.NET事件還可以帶參數(shù)。這樣在事件引發(fā)的時候可以附帶一個與事件有關(guān)的對象,以便事件的捕獲者對其進行處理。
比方我們把FallIll的定義改為:
 

  1. public event FallIll
    (Byval Name as String) 

然后把Eat的內(nèi)容改為:

  1. raiseevent FallIll(me.Name)
     '將病人的名字交給事件的捕獲者。  

接著把GoToHospital的定義改為:

  1. sub GoToHospital(Byval Name 
    as String)
    '該過程的參數(shù)數(shù)量和種類必須與其捕獲
    的event的參數(shù)相同。   
  2. Console.WriteLine(Name & 
    "被送到醫(yī)院去了。")   
  3. end sub  

 

這時候運行我們就會看到:“老王被送到醫(yī)院去了。”,VB.NET事件的相關(guān)操作就為大家介紹到這里。

責任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-01-14 10:35:34

VB.NET指針

2010-01-15 13:30:53

VB.NET Tool

2010-01-19 15:21:55

VB.NET區(qū)域性

2010-01-11 16:15:13

VB.NET枚舉功能

2010-01-20 18:34:46

VB.NET Syst

2010-01-07 16:16:03

VB.NET變量作用域

2010-01-15 10:32:06

VB.NET繼承

2010-01-21 16:30:58

VB.NET對象瀏覽器

2010-01-14 13:27:33

VB.NET操作符li

2010-02-06 09:01:58

ViewState

2009-12-24 14:30:56

VB.NET

2010-01-08 15:22:22

VB.NET局部變量

2010-02-25 17:22:39

WCF服務(wù)行為

2010-01-07 18:17:00

VB.NET連接SAP

2010-01-20 18:45:44

VB.NET DoEv

2010-01-18 17:37:32

VB.NET文本框處理

2009-10-23 17:03:18

VB.NET事件編程

2010-01-12 18:12:58

VB.NET事件

2010-01-21 17:34:48

VB.NET Bool

2010-01-07 15:42:57

VB.NET WhilEnd While循環(huán)
點贊
收藏

51CTO技術(shù)棧公眾號