偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

VB.NET動(dòng)態(tài)標(biāo)識(shí)符體現(xiàn)動(dòng)態(tài)語(yǔ)言特性

開(kāi)發(fā) 后端
VB.NET動(dòng)態(tài)標(biāo)識(shí)的應(yīng)用能夠?qū)⒑瘮?shù)的參數(shù)進(jìn)行動(dòng)態(tài)化,而且使用了這一特性,將不會(huì)再去利用反射進(jìn)行復(fù)雜的代碼編寫(xiě),提高開(kāi)發(fā)效率。

VB.NET作為一種面向?qū)ο笳Z(yǔ)言,具有很多突出的特點(diǎn)吸引著開(kāi)發(fā)人員的眼球。我們?cè)谶@里會(huì)通過(guò)對(duì)VB.NET動(dòng)態(tài)標(biāo)識(shí)的相關(guān)內(nèi)容的解讀,對(duì)這一語(yǔ)言進(jìn)行一個(gè)詳細(xì)的了解, 以提高我們對(duì)其的理解程度。#t#

動(dòng)態(tài)語(yǔ)言今年來(lái)發(fā)展很快,各種腳本語(yǔ)言多少都帶有些動(dòng)態(tài)語(yǔ)言的特點(diǎn)。動(dòng)態(tài)語(yǔ)言以其靈活的語(yǔ)法和豐富的運(yùn)行時(shí)行為贏得了許多人的青睞。在.NET陣營(yíng),C#一直扮演著靜態(tài)語(yǔ)言的角色,盡管3.0的語(yǔ)法改變很激進(jìn),但仍注重于編譯時(shí)的類(lèi)型檢查和約束。

動(dòng)態(tài)特性用的不好會(huì)產(chǎn)生更多運(yùn)行時(shí)問(wèn)題,不易確保程序的可靠性,但其提高開(kāi)發(fā)效率的作用是毋庸置疑的。Visual Basic 9.0是Visual Studio中唯一能讓你統(tǒng)領(lǐng)動(dòng)態(tài)和靜態(tài)兩大領(lǐng)域的語(yǔ)言,讓你在程序中自由選擇喜歡的風(fēng)格。

Visual Basic 從1.0便支持后期綁定,即按照對(duì)象的運(yùn)行時(shí)類(lèi)型信息使用對(duì)象,而不是定義這個(gè)對(duì)象時(shí)的類(lèi)型信息。如:

 

  1. Dim l As Object = 
    New ArrayList()  
  2. l.Add(12)  
  3. l.RemoveAt(0) 

我們知道Object沒(méi)有Add或RemoveAt方法,但運(yùn)行時(shí)類(lèi)型ArrayList具有他們,因此Visual Basic允許到運(yùn)行時(shí)再檢查有無(wú)相應(yīng)的操作并支持。既然這個(gè)過(guò)程已經(jīng)是在運(yùn)行時(shí)做的了,我們就應(yīng)該允許這個(gè)后期綁定的操作本身也是在運(yùn)行時(shí)確定。這個(gè)語(yǔ)法增強(qiáng)叫做VB.NET動(dòng)態(tài)標(biāo)識(shí)。比如我們可以和這樣寫(xiě):

 

  1. Dim l As Object =
     
    New ArrayList()  
  2. l.("Add")(12)  
  3. l.("RemoveAt")(0) 

 

我們看到,這個(gè)時(shí)候方法名稱(chēng)Add和RemoveAt已經(jīng)是字符串了,它當(dāng)然也可以是包含字符串的變量!所以你甚至可以寫(xiě)出這樣的代碼:

 

  1. l.(Console.ReadLine())(12)  
  2. l.("Remove" & "At")(0) 

這樣,作為方法名稱(chēng)的標(biāo)識(shí)符就可以完全在動(dòng)態(tài)期間確定了。方法名稱(chēng)如此,那么類(lèi)型名稱(chēng)呢?理應(yīng)如此。我們可以這樣寫(xiě):

 

  1. Dim l As Object = 
    New ("ArrayList")() 

這樣,你的變量l的類(lèi)型將根據(jù)一個(gè)運(yùn)行時(shí)字符串的值確定。VB.NET動(dòng)態(tài)標(biāo)識(shí)還能將函數(shù)的參數(shù)也動(dòng)態(tài)化,假設(shè)有下列子程序:

 

  1. Sub Method1(Optional 
    arg1 As String, Optional 
    arg2 As String) 

運(yùn)行的時(shí)候,我們可以動(dòng)態(tài)地指定將數(shù)值賦給哪個(gè)參數(shù):

 

  1. If a > 0 Then argString =
     
    "arg1" Else argString = "arg2" 
  2. Method1(:a.ToString()) 

 

注意在:=符號(hào)之前的大括號(hào),表示對(duì)參數(shù)名稱(chēng)的動(dòng)態(tài)結(jié)合。有了VB.NET動(dòng)態(tài)標(biāo)識(shí)這一特性,Visual Basic 9.0將不需要利用反射的復(fù)雜語(yǔ)法,就可以做很多需要反射和運(yùn)行時(shí)類(lèi)型信息來(lái)做的任務(wù),這使得Visual Basic成為解決你手邊小問(wèn)題的最佳幫手。本期我們已經(jīng)領(lǐng)略到Visual Basic 9.0在動(dòng)態(tài)特性上的革新。

責(zé)任編輯:曹凱 來(lái)源: zdnet.com.cn
相關(guān)推薦

2009-10-27 14:20:37

VB.NET動(dòng)態(tài)標(biāo)識(shí)符

2010-01-14 13:27:33

VB.NET操作符li

2009-10-12 15:02:51

VB.NET動(dòng)態(tài)控件

2009-10-12 15:44:26

VB.NET動(dòng)態(tài)編碼技

2009-11-03 14:13:23

VB.NET C#

2010-01-20 18:45:44

VB.NET DoEv

2009-06-12 19:12:24

動(dòng)態(tài)代碼VB.NET

2009-10-12 15:41:09

VB.NET動(dòng)態(tài)代碼

2010-01-13 18:09:09

VB.NET動(dòng)態(tài)生成代

2010-01-15 10:32:06

VB.NET繼承

2010-01-21 16:30:58

VB.NET對(duì)象瀏覽器

2010-01-13 17:23:36

VB.NET動(dòng)態(tài)事件

2009-10-28 17:44:31

VB.NET語(yǔ)言

2009-10-27 10:30:18

VB.NET實(shí)現(xiàn)動(dòng)態(tài)菜

2010-01-15 18:30:50

VB.NET Dlli

2010-01-14 10:35:34

VB.NET指針

2009-11-11 14:34:14

VB.NET動(dòng)態(tài)連接庫(kù)

2010-01-14 19:09:02

VB.NET動(dòng)態(tài)標(biāo)題

2010-01-12 15:54:47

VB.NET動(dòng)態(tài)控件數(shù)

2010-01-20 10:19:16

VB.NET動(dòng)態(tài)接口
點(diǎn)贊
收藏

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