日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET事件在實際應(yīng)用中的作用體現(xiàn)

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

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、長海ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的長海網(wǎng)站制作公司

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

  1. sub New() 
  2. end sub 

當(dāng)然,你也可以加參數(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類當(dāng)中定義一個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ī)院去了?!保琕B.NET事件的相關(guān)操作就為大家介紹到這里。


文章名稱:VB.NET事件在實際應(yīng)用中的作用體現(xiàn)
標(biāo)題URL:http://www.dlmjj.cn/article/dhehidi.html