您的位置: 旅游網(wǎng) > 八卦 >> 爸爸

    之動(dòng)態(tài)標(biāo)識(shí)符計(jì)劃

    發(fā)布時(shí)間:2021-10-28 05:40:16

    動(dòng)態(tài)語言今年來發(fā)展很快,各種腳本語言多少都帶有些動(dòng)態(tài)語言的特點(diǎn)。動(dòng)態(tài)語言以其靈活的語法和豐富的運(yùn)行時(shí)行為贏得了許多人的青睞。在.NET陣營,C#一直扮演著靜態(tài)語言的角色,盡管3.0的語法改變很激進(jìn),但仍注重于編譯時(shí)的類型檢查和約束。動(dòng)態(tài)特性用的不好會(huì)產(chǎn)生更多運(yùn)行時(shí)問題,不易確保程序的可靠性,但其提高開發(fā)效率的作用是毋庸置疑的。Visual Basic 9.0是Visual Studio中唯一能讓你統(tǒng)領(lǐng)動(dòng)態(tài)和靜態(tài)兩大領(lǐng)域的語言,讓你在程序中自由選擇喜歡的風(fēng)格。 Visual Basic 從1.0便支持后期綁定,即按照對(duì)象的運(yùn)行時(shí)類型信息使用對(duì)象,而不是定義這個(gè)對(duì)象時(shí)的類型信息。如:

    Diml As Object = New ArrayList()

    d(12)

    moveAt(0)

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

    Diml As Object = New ArrayList()

    l.(\"Add\")(12)

    l.(\"RemoveAt\")(0)

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

    然而 l.(adLine())(12)

    l.(\"Remove\" \"At\")(0)

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

    Diml As Object = New (\"ArrayList\")()

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

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

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

    If a 0 Then argString = \"arg1\" Else argString = \"arg2\"

    Method1({argString}:= String())

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

    查看本文來源

    糖尿病高血壓用什么降壓藥
    經(jīng)常拉肚子怎么回事
    三門峽治療白癜風(fēng)醫(yī)院費(fèi)用
    猜你會(huì)喜歡的
    猜你會(huì)喜歡的
    主站蜘蛛池模板: 精品欧美一区二区精品久久| 99久久精品费精品国产一区二区| 欧美成人在线免费| 啊灬啊灬别停啊灬用力啊在线观看| 香蕉伊思人在线精品| 女让张开腿让男人桶视频| 久久天天躁狠狠躁夜夜躁综合| 欧美精品久久天天躁| 午夜无码A级毛片免费视频| 黑粗硬大欧美在线视频试看 | 免费一级毛片免费播放| 足恋玩丝袜脚视频免费网站| 国产精品多p对白交换绿帽| smesmuu的中文意思| 日本bbwbbwbbw| 亚洲va久久久噜噜噜久久狠狠| 激情综合丝袜美女一区二区| 啊灬啊灬啊灬快好深视频在线| 黄频免费观看在线播放| 国产精品自在线拍国产电影| xxxx日本在线播放免费不卡| 日本伊人色综合网| 亚洲gv天堂gv无码男同| 波多野结衣丝袜诱惑| 制服丝袜中文字幕在线| 蜜挑成熟时k8经典网| 国产欧美国产精品第一区| 91原创视频在线| 女人被躁免费视频| 中国国语毛片免费观看视频| 日本高清免费观看| 亚洲一区爱区精品无码| 欧美激情第一欧美在线| 人人色在线视频播放| 精品国产一区二区三区av片| 国产xx在线观看| 青青草原综合网| 国产成人刺激视频在线观看| 男人都懂的网址在线看片| 国精品午夜福利视频不卡麻豆| а√最新版在线天堂|