在公共語言運(yùn)行時(shí)語言中的資源地址支持的制作方法

            文檔序號:6542758閱讀:183來源:國知局
            專利名稱:在公共語言運(yùn)行時(shí)語言中的資源地址支持的制作方法
            技術(shù)領(lǐng)域
            本發(fā)明一般涉及提供給軟件開發(fā)人員的編程工具,尤其涉及用于對資源,特別是符合公共語言規(guī)范的資源進(jìn)行尋址的編程工具。
            (2)背景技術(shù)在受控代碼執(zhí)行環(huán)境內(nèi)的編程在現(xiàn)有技術(shù)中是已知的。該種環(huán)境的一個(gè)已知例子是包括公共語言運(yùn)行時(shí)(CLR)的環(huán)境。編譯器和工具向開發(fā)人員展露運(yùn)行時(shí)功能性,并使開發(fā)人員能夠編寫受益于受控代碼執(zhí)行的代碼。用以運(yùn)行時(shí)為目標(biāo)的語言編譯器開發(fā)的代碼被稱作受控代碼。受控代碼受益于諸如跨語言集成、跨語言例外處理、增強(qiáng)的安全性、版本和部署支持、組件交互的簡化模型、和調(diào)試與描述(profiling)業(yè)務(wù)的特點(diǎn)。
            都已理解的理論是,不管其它對象是用什么語言實(shí)現(xiàn)的,為了要與其它對象充分地交互,,則對象應(yīng)當(dāng)將那些即將與它們進(jìn)行互操作的語言所公有的特征展露給調(diào)用程序。以這種理論為出發(fā)點(diǎn),已經(jīng)定義出了公共語言規(guī)范(CLS),這是一組在多應(yīng)用程序間共用的基本語言特征。以CLR為目標(biāo)的語言通常同意支持CLS特征和遵循指向編譯器的CLS規(guī)則。用于以CLR為目標(biāo)的語言的編譯器通過使得CLS數(shù)據(jù)類型和特征能夠被用來創(chuàng)建組件而簡化了CLS順從性。如果一個(gè)組件在暴露給其它代碼(包括導(dǎo)出類)的API中只使用CLS特征,那么基本上可以保證任何支持CLS的編程語言都可以訪問該組件。遵守CLS規(guī)則并且僅使用包括在CLS內(nèi)的特征的組件被稱作CLS順從組件。
            一般來說,目前的開發(fā)環(huán)境在設(shè)計(jì)時(shí)僅提供了對管理資源的粗略級支持,尤其是對于CLS順從資源。為了將資源插入代碼中,開發(fā)人員通常需要硬編碼一個(gè)參考標(biāo)識符(例如,從存儲器中)。可選地,開發(fā)人員從參考文件中復(fù)制一個(gè)參考標(biāo)識符(例如,要求開發(fā)人員在編碼程序和參考文件之間來回切換)。
            資源的參考標(biāo)識符通常包括鍵名和字符串。鑒于資源管理的目前的支持級別,存在著開發(fā)人員不能正確地鍵入鍵名和字符串的顯著危險(xiǎn)。雖然查閱參考文件來獲得鍵名或字符串的過程理論上能夠減少差錯(cuò),但是要額外付出努力卻不勝其煩,從而可論證地給開發(fā)人員提供了猜測正確值的動(dòng)機(jī)。當(dāng)然,猜測的過程容易出現(xiàn)錯(cuò)誤。
            普遍的情況是,發(fā)源于不精確尋址的資源的程序缺陷不會產(chǎn)生建立時(shí)(build-time)差錯(cuò),且通常只是在運(yùn)行時(shí)才暴露出來。這就意味著在產(chǎn)品處于測試時(shí),通常必須命中實(shí)際上行使不正確尋址資源的代碼路徑。在沒有代碼侵入措施的情況下,識別所有的尋址錯(cuò)誤是很困難的。而且,在這種測試環(huán)境下進(jìn)行尋址糾正時(shí),通常要求應(yīng)用程序的測試人員正確地解釋尋址錯(cuò)誤,這并不總是一個(gè)容易而直接的任務(wù)。
            (3)發(fā)明內(nèi)容本發(fā)明實(shí)施例涉及用來在受控代碼執(zhí)行環(huán)境的情況下,在運(yùn)行時(shí)之前減少編碼錯(cuò)誤的計(jì)算機(jī)實(shí)施方法。該方法包括提供給開發(fā)人員到多個(gè)受控代碼資源的訪問接入。該方法還包括驗(yàn)證由開發(fā)人員輸入的資源標(biāo)識符是對應(yīng)于所述多個(gè)受控代碼資源中的其中一個(gè)。
            (4)


            圖1是可以實(shí)施本發(fā)明的一個(gè)計(jì)算環(huán)境的框圖。
            圖2是顯示代碼開發(fā)環(huán)境的示意框圖。
            圖3是示例性屏幕抓圖。
            圖4是示例性屏幕抓圖。
            圖5是與直接訪問有關(guān)CLS順從資源的信息相關(guān)聯(lián)的步驟的流程圖。
            (5)具體實(shí)施方式
            圖1顯示了在其中可以實(shí)施本發(fā)明的合適計(jì)算系統(tǒng)環(huán)境100的例子。計(jì)算系統(tǒng)環(huán)境100僅僅作為合適計(jì)算環(huán)境的例子,目的不在于暗示有關(guān)本發(fā)明用途或功能的任何限制。計(jì)算環(huán)境100不應(yīng)該解釋為對與在典型操作環(huán)境100中所示的任何一個(gè)組件或其組合有依賴性或需求性。
            本發(fā)明可以在多種其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置中運(yùn)行。適用于本發(fā)明的熟知計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括,但不局限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子、網(wǎng)絡(luò)PC、迷你計(jì)算機(jī)、巨型計(jì)算機(jī)、電話系統(tǒng)、包括上述系統(tǒng)或設(shè)備的任意組合的分布式計(jì)算環(huán)境、等等。
            本發(fā)明可以用由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的通用上下文來描述,例如程序模塊。一般,程序模塊包括線程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、等等,它們執(zhí)行特定的任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型。本發(fā)明還可以在分布式計(jì)算環(huán)境中實(shí)施,在這種環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理執(zhí)行。在分布計(jì)算環(huán)境中,程序模塊可以處在包括存儲設(shè)備在內(nèi)的本地及遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
            參考圖1,實(shí)施本發(fā)明的典型系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可以包括中央處理單元120、系統(tǒng)存儲器130、和把包括該系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件連接到處理單元120的系統(tǒng)總線121,但不限于此。
            系統(tǒng)總線121可以是幾種類型總線結(jié)構(gòu)中的任意一種,包括存儲器總線或存儲器控制器、外設(shè)總線、和使用多種總線體系結(jié)構(gòu)的任意一種的本地總線。作為例子,而非限制,此類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線、和也稱之為Mezzanine總線的外設(shè)組件互聯(lián)(PCI)。
            計(jì)算機(jī)110通常包括多種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)110可以訪問的任何可用介質(zhì),并包括易失和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為例子,但不是限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括易失和非易失、可移動(dòng)和不可移動(dòng)介質(zhì),這些介質(zhì)以存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)指令、程序模塊或其它數(shù)據(jù)的信息的任何方法或技術(shù)來實(shí)施。計(jì)算機(jī)存儲介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字多用盤(DVD)或其它光盤存儲器、磁盒、磁帶、磁盤存儲器或其它磁性存儲設(shè)備、或任何其它可以用來存儲所需信息并可以由計(jì)算機(jī)110訪問的介質(zhì)。作為例子,非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì)、和諸如聲波、RF、紅外線和其它無線介質(zhì)的無線介質(zhì)、上述任意介質(zhì)的組合也應(yīng)該包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
            系統(tǒng)存儲器130包括諸如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132形式的易失和/或非易失存儲器。包含有助于例如在啟動(dòng)期間在計(jì)算機(jī)110內(nèi)的單元之間傳遞信息的基本線程的基本輸入/輸出系統(tǒng)(BIOS)133通常存儲在ROM 131中。RAM 132通常包括可立即被處理單元120訪問的和/或當(dāng)前正在操作于其上的數(shù)據(jù)和/或程序模塊。作為例子,而非限制,圖1顯示有操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137。
            計(jì)算機(jī)110還可以包括其它可移動(dòng)/不可移動(dòng)易失/非易失計(jì)算機(jī)存儲介質(zhì)。僅僅作為例子,圖1顯示了從不可移動(dòng)、非易失磁介質(zhì)讀寫的硬盤驅(qū)動(dòng)器141,從可移動(dòng)、非易失磁盤152讀寫磁盤驅(qū)動(dòng)器151,和從諸如CD-ROM或其它光介質(zhì)的可移動(dòng)、非易失光盤156讀寫的光盤驅(qū)動(dòng)器155。其它可以用于示例性操作環(huán)境中的可移動(dòng)/不可移動(dòng)、易失/非易失計(jì)算機(jī)存儲介質(zhì)包括但不限于磁帶盒、閃存卡、數(shù)字多用盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM、等等。硬盤驅(qū)動(dòng)器141通常通過例如接口140的不可移動(dòng)存儲器接口連接到系統(tǒng)總線121,而磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常通過例如接口150的可移動(dòng)存儲器接口連接到系統(tǒng)總線121。
            上面所討論并在圖1中顯示的驅(qū)動(dòng)器及其相關(guān)計(jì)算機(jī)存儲器介質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲器。在圖1中,例如,硬盤驅(qū)動(dòng)器141用于存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、和程序數(shù)據(jù)147。注意,這些組件既可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137相同也可以不同。操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136、和程序數(shù)據(jù)137在此被賦予不同的標(biāo)號,至少顯示它們是不同的拷貝。
            用戶可以通過例如鍵盤162、麥克風(fēng)163、和諸如鼠標(biāo)、跟蹤球或觸摸板的定位設(shè)備161等輸入設(shè)備輸入命令和信息到計(jì)算機(jī)110中。其它輸入設(shè)備(未示出)可以包括游戲桿、游戲板、衛(wèi)星盤、掃描儀、等。這些和其它輸入設(shè)備通常是通過連接于系統(tǒng)總線的用戶輸入接口160連接到處理單元120的,但是也可以通過其它接口和總線結(jié)構(gòu)來連接,例如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設(shè)備也通過例如視頻接口190的接口連接到系統(tǒng)總線121。除了監(jiān)視器之外,計(jì)算機(jī)還可以包括例如揚(yáng)聲器197和打印機(jī)196的其它外圍輸入設(shè)備,它們可以通過輸出外設(shè)接口190來連接。
            計(jì)算110可以工作在使用到一個(gè)或多個(gè)例如遠(yuǎn)程計(jì)算機(jī)180的遠(yuǎn)程計(jì)算機(jī)的邏輯連接的組網(wǎng)環(huán)境中。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括與計(jì)算機(jī)110相關(guān)描述于上的許多個(gè)或所有元件。圖1所描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但還可以包括其它網(wǎng)絡(luò)。這種組網(wǎng)環(huán)境在辦公室、企業(yè)范圍內(nèi)的計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部網(wǎng)和因特網(wǎng)中是很普遍的。
            當(dāng)用于LAN組網(wǎng)環(huán)境時(shí),計(jì)算機(jī)110被通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)用于WAN組網(wǎng)環(huán)境時(shí),計(jì)算機(jī)110通常包括用來在WAN 173(例如,因特網(wǎng))上建立通信的調(diào)制解調(diào)器172或其它裝置。調(diào)制解調(diào)器172,可以是內(nèi)置的也可以是外置的,可以通過用戶輸入接口160或其它合適機(jī)制連接到系統(tǒng)總線121。在組網(wǎng)環(huán)境中,與計(jì)算機(jī)110相關(guān)描述的程序模塊或其部分可存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為例子,而非限制,圖1顯示有駐留于遠(yuǎn)程計(jì)算機(jī)180上的遠(yuǎn)程應(yīng)用程序185。應(yīng)該理解,所示網(wǎng)絡(luò)連接是示例性的,并可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
            圖2是顯示根據(jù)本發(fā)明一個(gè)方面的代碼開發(fā)環(huán)境201的示意框圖。該環(huán)境包括設(shè)計(jì)程序202和受控代碼基礎(chǔ)結(jié)構(gòu)204?;A(chǔ)結(jié)構(gòu)204示例被圖示為—盡管并不必須是—一種包括但不限于由美國Washington州Redmond市的微軟公司提供的現(xiàn)有.NET框架的環(huán)境的受控代碼執(zhí)行環(huán)境。
            設(shè)計(jì)程序202是一種開發(fā)工具,尤其是與受控代碼基礎(chǔ)結(jié)構(gòu)204聯(lián)合運(yùn)作以提供用于設(shè)計(jì)、構(gòu)建、測試和部署應(yīng)用程序的工具的編程環(huán)境。例證性的設(shè)計(jì)程序202為在由微軟公司提供的VISUAL STUOIO.NET系列產(chǎn)品中的程序,盡管不是必須的。受控代碼基礎(chǔ)結(jié)構(gòu)204示例性地包括配置成支持跨語言順從代碼的受控代碼執(zhí)行環(huán)境。根據(jù)一個(gè)實(shí)施例,基礎(chǔ)結(jié)構(gòu)204包括微軟公司的.NET基礎(chǔ)結(jié)構(gòu)的公用語言運(yùn)行時(shí)組件,其中,在這種情況下,設(shè)計(jì)程序202被配置成與受控代碼基礎(chǔ)結(jié)構(gòu)204協(xié)作來產(chǎn)生至少部分地CLS順從的代碼。
            根據(jù)本發(fā)明的一個(gè)方面,受控代碼基礎(chǔ)結(jié)構(gòu)204和設(shè)計(jì)程序202一起提供了管理由受控代碼基礎(chǔ)結(jié)構(gòu)204支持的語言的資源信息207的資源管理器。根據(jù)一個(gè)實(shí)施例,資源信息207包括與CLS順從資源有關(guān)的信息。在圖2內(nèi),資源管理器208和信息207顯示為虛線框,其分離于程序202和基礎(chǔ)結(jié)構(gòu)204。這種布置目的在于反映這樣的事實(shí),即,精確實(shí)現(xiàn)對于本發(fā)明來說并不是關(guān)鍵。資源管理器和信息可以作為基礎(chǔ)結(jié)構(gòu)204的部分、作為程序202的部分、作為度量組件或其它形式來實(shí)現(xiàn)。
            資源請求被通過多種已知的可接受方法的任何一種而傳輸?shù)劫Y源管理器208。根據(jù)一個(gè)實(shí)施例,資源示例性地通過“GetString(string KeyName)”方法來請求。例如,在設(shè)計(jì)時(shí),開發(fā)人員與程序202接口,并創(chuàng)建包括對資源管理器208進(jìn)行調(diào)用的代碼,例如對作為資源信息207的部分而維持的CLS順從組件的調(diào)用。所編碼的資源調(diào)用示例性地包括與所需資源相關(guān)的字符串和鍵名的指示?;谒幋a的資源調(diào)用,在過程的某一刻,使用“GetString(stringKeyName)”調(diào)用向資源管理器208做出相應(yīng)字符串資源的請求。如果在設(shè)計(jì)時(shí)沒能正確地輸入字符串和/或鍵名(例如,在KeyName中的打字錯(cuò)誤),那么直到運(yùn)行時(shí)才能發(fā)現(xiàn)該錯(cuò)誤的并不鮮見。另外,可以使用除了上述GetString方法之外的方法,而不會脫離本發(fā)明的范圍。
            根據(jù)本發(fā)明的一個(gè)方面,設(shè)計(jì)程序202包括總體上配置成用來在運(yùn)行時(shí)之前減少或消除資源尋址錯(cuò)誤的StringRes工具206。StringRes工具206被示例為補(bǔ)充設(shè)計(jì)程序202以便有助于更好地管理字符串資源的定制工具。根據(jù)一個(gè)實(shí)施例,StringRes工具206被作為設(shè)計(jì)程序202的一個(gè)組成部分。根據(jù)另一實(shí)施例,StringRes工具206是可以被集成在或安裝到程序202中的升級。
            根據(jù)一個(gè)實(shí)施例,假設(shè)設(shè)計(jì)程序202包括StringRes工具206,該工具自動(dòng)與由開發(fā)人員使用設(shè)計(jì)程序202啟動(dòng)的任何編碼項(xiàng)目相關(guān)聯(lián)。然而,根據(jù)另一個(gè)實(shí)施例,只有當(dāng)該工具被打開或在特定項(xiàng)目的上下文環(huán)境中安裝時(shí)(即,該工具是有選擇性地在項(xiàng)目基礎(chǔ)上一一激活的),才能向開發(fā)人員提供工具206的功能性。
            圖3是屏幕視圖300,表示的是設(shè)計(jì)程序202的界面的可能外觀的一個(gè)例子。開發(fā)人員示例性地將代碼輸入到編碼區(qū)域302。在平面視圖300的具體上下文中,如由高亮標(biāo)簽304所指示的那樣,開發(fā)人員正在協(xié)同指定為“Formal.cs”的文件創(chuàng)作代碼。
            提供有文件選擇區(qū)域305以便開發(fā)人員能夠在不同文件和不同項(xiàng)目之間移動(dòng)。提供配置區(qū)域306以便開發(fā)人員能夠至少有選擇性地激活或去激活諸如StringRes工具206的各種編程工具。在屏幕視圖300的具體上下文中,如在區(qū)域306內(nèi)所指示的那樣,StringRes工具已經(jīng)協(xié)同“FROM1.RESX”文件激活。從而,當(dāng)他或她在FROM1.RESX文件的上下文中輸入代碼時(shí),向開發(fā)人員提供StringRes工具的功能性。根據(jù)一個(gè)實(shí)施例,該功能性還可以被擴(kuò)展到具備與Form1.resx文件的預(yù)定層次關(guān)系的文件。因此,根據(jù)本發(fā)明的一個(gè)方面,StringRes工具是被實(shí)現(xiàn)為在需要時(shí)才激活的定制編程工具。為了描述本發(fā)明,將假設(shè)StringRes工具206還為“FROM1.CS”文件激活,其是在編碼區(qū)域302中打開的文件。
            以此存于腦海,根據(jù)本發(fā)明的一個(gè)方面,與StringRes工具相關(guān)聯(lián)的子系統(tǒng)(例如,項(xiàng)目管理子系統(tǒng))能夠根據(jù)正在從事的項(xiàng)目所使用的特定CLR順從語言進(jìn)行響應(yīng)。當(dāng)有新文件添加到項(xiàng)目中,或現(xiàn)有的文件被修改時(shí)(例如,通過觸及CustomTool屬性),該文件的父文件被檢查。父文件確定該項(xiàng)目是C#、C++、VB等等?;谠摯_定,代碼以該項(xiàng)目的適當(dāng)語言進(jìn)行發(fā)布。以這種方式,一個(gè)設(shè)計(jì)程序方案可以包含多個(gè)項(xiàng)目,且StringRes工具可以容納。
            根據(jù)本發(fā)明一個(gè)方面,StringRes工具206提供給開發(fā)人員方便的設(shè)計(jì)時(shí)對資源地址/索引信息、以及可任選地對應(yīng)于該目錄資源的值的可用性。根據(jù)一個(gè)實(shí)施例,以顯示在有助于開發(fā)人員完成語句和函數(shù)的彈出窗口和/或下拉列表中(例如,直接顯示于設(shè)計(jì)程序界面內(nèi))的信息的形式提供對資源的訪問。例如,對應(yīng)于可用資源的標(biāo)識符信息(即,鍵名、字符串和/或值信息)顯示給開發(fā)人員以完成選擇和語句。
            根據(jù)一個(gè)實(shí)施例,有效資源信息是為特定資源參考而顯示的。例如,在輸入資源對象、命令或函數(shù)之后,激活器鍵啟動(dòng)對當(dāng)前命令或函數(shù)有效值的下拉列表的顯示。根據(jù)一個(gè)實(shí)施例,激活器鍵是一個(gè)句號(.)。根據(jù)其它實(shí)施例,激活器鍵是空格鍵、左(開)括號鍵、或一些其它鍵調(diào)用。根據(jù)一個(gè)實(shí)施例,通過下拉列表導(dǎo)航(即,滾動(dòng))或鍵輸入,并在其中一個(gè)可用選擇上停止(例如,預(yù)定的時(shí)量)鍵,能夠在靠近下拉菜單彈出的窗口中顯示附加的信息。
            根據(jù)一個(gè)實(shí)施例,在設(shè)計(jì)程序界面上提供給開發(fā)人員能夠使得他或她調(diào)整資源信息自動(dòng)傳送狀態(tài)為自動(dòng)、手動(dòng)或無效的選項(xiàng)。當(dāng)設(shè)定為自動(dòng)時(shí),在按壓激活器鍵時(shí),資源列表自動(dòng)顯示。當(dāng)設(shè)置為手動(dòng)時(shí),在光標(biāo)位于與信息的可用性相關(guān)聯(lián)的位置時(shí),開發(fā)人員可以選擇性地激活資源信息的顯示(例如,使用編輯菜單命令、快捷菜單選擇、或CTRL-鍵組合)。根據(jù)一個(gè)實(shí)施例,與CLS順從資源特別相關(guān)的信息通過作為StringRes工具206組件提供的所述設(shè)計(jì)程序界面更新來使得對于開發(fā)人員可用。
            一般而言,StringRes工具206能夠?yàn)橘Y源標(biāo)識符和相應(yīng)信息的選擇建立有效交叉參考,尤其是對于與CLS順從資源相關(guān)的標(biāo)識符和信息。因此,根據(jù)本發(fā)明的一個(gè)方面,當(dāng)開發(fā)人員輸入資源類并隨后使用激活鍵時(shí),就自動(dòng)提供列表(例如,下拉菜單)來顯示相關(guān)的可訪問方法和屬性。根據(jù)一個(gè)實(shí)施例,自動(dòng)產(chǎn)生的列表是可用字符串鍵名的集合。根據(jù)另一個(gè)實(shí)施例,點(diǎn)亮其中一個(gè)鍵名則啟動(dòng)相關(guān)字符串值(例如,在彈出框內(nèi))的提供。
            圖4是表示設(shè)計(jì)程序202界面另一個(gè)例子的平面視圖400。圖4中的抓圖基本上類似于圖3的抓圖,并且對于StringRes工具206被激活的假設(shè)仍然有效。在位置425處的編碼區(qū)域內(nèi),開發(fā)人員已經(jīng)鍵入“FROM11”,其示例為輸入資源標(biāo)識符的先趨符。在該先趨符之后,開發(fā)人員鍵入了句號(.),其示例為一個(gè)激活器鍵,該鍵以下拉菜單430的形式啟動(dòng)來自StringRes工具206的響應(yīng)。菜單430示例性地包含對于相應(yīng)先趨符輸入條目有效的資源信息。
            根據(jù)一個(gè)實(shí)施例,在下拉框中的信息以分層方式排列。例如,資源可以示例為基于多種語言可用,每種語言對應(yīng)于作為與更寬資源單元相關(guān)的分層單元顯示于該框中。當(dāng)然,可以基于語言以外的其它任何因素來進(jìn)行組織。應(yīng)該注意,菜單430可以配置成包含多于所示的六種選擇(例如,按字母順序或其它排列可滾動(dòng)的列表)。在菜單430中的所列的單元可以是—但不必是—對應(yīng)于諸如CLS順從單元的單元。
            繼續(xù)該例子,然后,開發(fā)人員通過菜單430進(jìn)行導(dǎo)航并停在“MICHELLELOC”條目上。暫停于該條目之上示例性地啟動(dòng)相應(yīng)彈出框436的出現(xiàn),該框包含與從菜單430中選擇的單元相關(guān)的字符串和/或值信息。最后,開發(fā)人員從菜單430選擇其中一個(gè)條目。選擇將使得資源鍵名、字符和/或值被自動(dòng)插入到代碼的合適位置中。
            圖5是顯示與本發(fā)明實(shí)施例相關(guān)聯(lián)的步驟的流程圖。根據(jù)塊502,向開發(fā)人員提供到CLS順從資源的訪問。根據(jù)步驟504,在代碼開發(fā)期間,呈現(xiàn)給開發(fā)人員各自表示CLS順從資源的資源標(biāo)識符的集合。如步驟506所指示的那樣,開發(fā)人員接著從該集合中選擇表示所需CLS順從資源的標(biāo)識符。最后,根據(jù)步驟508,將相應(yīng)的精確信息包括到開發(fā)人員的項(xiàng)目中。
            根據(jù)本發(fā)明的另一方面,StringRes工具206提供對于構(gòu)建時(shí)檢查的支持來確定資源,尤其是CLS順從資源是否因差錯(cuò)而尋址。該檢查是通過比較在代碼內(nèi)的資源標(biāo)識符和有效值的集合(例如,被維護(hù)以便支持所描述的設(shè)計(jì)時(shí)資源信息的提供的資源值的相同集合)來進(jìn)行的。如果存在不匹配所存儲值的資源值,就示例性地向開發(fā)人員報(bào)告錯(cuò)誤以進(jìn)行糾正。根據(jù)一個(gè)實(shí)施例,該系統(tǒng)配置成使得開發(fā)人員能夠在需要時(shí)添加信息到有效值列表中,以配置該系統(tǒng)使其接受新的或不同資源輸入。
            根據(jù)一個(gè)實(shí)施例,參考圖3的屏幕抓圖,為了將資源工具擴(kuò)展到新的資源信息,開發(fā)人員選擇(例如,右擊)在區(qū)域305方案瀏覽器內(nèi)的項(xiàng)目。然后,開發(fā)人員可以啟動(dòng)把具有擴(kuò)展名“.strings”的文件添加到項(xiàng)目文件。接著,根據(jù)需要添加新的字符串到.strings文件中。
            根據(jù)一個(gè)更具體的實(shí)施例,為了添加新的資源信息,開發(fā)人員首先通過選擇(即,右擊)在方案區(qū)域305內(nèi)的一個(gè)項(xiàng)目來引出功能選項(xiàng)菜單。然后,開發(fā)人員選擇“添加新條目”功能以便產(chǎn)生對話框。接著,開發(fā)人員選擇“資源”類目和字符串資源工具子類目以便向該項(xiàng)目添加具有“.strings”擴(kuò)展名的文件。在方案瀏覽器中選擇“顯示所有文件”選項(xiàng)將示例性地展示該.strings文件具有兩個(gè)子項(xiàng)目一個(gè)“.cs”文件和一個(gè)“.resx”文件。示例性地,子文件不可以被直接編輯,因?yàn)樗鼈兪菑?strings文件生成的。這些文件并不是在構(gòu)建時(shí)生成,而是在每當(dāng)存在對于.strings文件的改變、或?qū)τ?strings文件的定制工具或定制工具名空間屬性的改變時(shí)才生成。
            為了添加資源信息,開發(fā)人員只需將信息添加到.strings文件,例如,使用格式“<KeyName>=<value>”。該格式的一個(gè)例子是SimpleMsg=this is a simple message.
            .strings文件的缺省文件名示例為STR1.strings,其在子文件“.cs”文件中產(chǎn)生以“STR1”命名的類(該類名來自文件名)。因此,例如,在C#編程環(huán)境中,下面的例子將是一個(gè)精確的例子STR1.SimpleMsg;//the string returned from this would be″Thisis a simple message.″使用字符串格式(string.format)的普通操作示例性地也由該工具來照顧。
            例如FileNotFoundError(filename,description,int retries)=Thefile{0}was not found because{1}.The number of retry attemptswas{2}.
            不指定給定參數(shù)類型示例性地將該類型缺省為System.String(系統(tǒng)字符串)。在C#編程環(huán)境中,可應(yīng)用的例子為STR1.FileNotFoundError(″myFile.abc″,″the file was deleted″,30);//This would printThe file myFileabc.was not foundbecausethe file was deleted.The number of retry attempts was 30.
            在.strings文件中的注釋示例性地以井(pound)號(#)或分號(;)開頭。標(biāo)記為井號的注釋示例性地從外部是看不到的,而那些由分號標(biāo)記的通常是可用的。從外部看得到的注釋被輸出到.resx文件。示例性地,如果而且只有在該行中的第一字符是“#”或“;”時(shí),StringRes工具才識別為有效注釋行。
            在.strings文件中的每個(gè)消息示例性地在自動(dòng)產(chǎn)生的類中產(chǎn)生兩個(gè)訪問器(accessor)。一個(gè)用于“不確定語言的”和另一用于“指定語言的”。對于簡單類型的消息,該訪問器是一個(gè)字段。為了添加語言作為參數(shù),要添加函數(shù),并且稍稍改變其名稱(例如,將“Loc”添加在字段名后)。對于采用參數(shù)的消息,名稱不變;且只有參數(shù)列表改變(即,添加一CultureInfo參數(shù))。對于自動(dòng)產(chǎn)生的.cs文件的隨意觀察將顯示細(xì)節(jié)。
            添加到項(xiàng)目時(shí),.strings文件示例性地會使定制工具屬性設(shè)定為“StringRes”、定制工具名空間(Custom Tool Namespace)設(shè)定為空、構(gòu)建動(dòng)作(Build Action)設(shè)定為“none”(無)。用于StringRes的輸出的名空間是從項(xiàng)目中獲得的,但它可以示例性地通過將Custom Toll Namespace設(shè)定至所需的輸出名空間而被忽視。
            設(shè)計(jì)程序識別StringRes工具作為定制工具(Custom Tool)的方式示例性地是通過在方案瀏覽器中具有客戶工具屬性設(shè)為StringRes的的文件而進(jìn)行的。因此,只要客戶工具屬性被設(shè)為StringRes并且文件處于有效格式中,那么添加.txt或.abc文件就好了(即,在C#項(xiàng)目中)。
            在產(chǎn)品中部署了與文化無關(guān)的資源之后,示例性地,loc資源可以在任何時(shí)進(jìn)行部署,而無需對二元(binary)有任何觸及;并且不需要重新構(gòu)建。如果字符串資源被請求,而在運(yùn)行時(shí)不可用,那么就示例性地遍歷該資源的層次體系,并將該體系的根作為與文化無關(guān)的資源集。因此,如果請求了一個(gè)日語字符串,但是不可用,那么就返回英語字符串。如果后來日語資源集變得可用了,那么就返回日語字符串。
            作為例子,考慮以下場景1)AppX使用嵌入在可執(zhí)行AppX中的字符串資源;2)六個(gè)星期之后,在奧地利突然產(chǎn)生了對AppX的興趣,奧地利-德語在System.Localization.CultureInfo類中為“de-At”;3)在AppX的可執(zhí)行目錄中,創(chuàng)建“de-At”的子目錄以及為標(biāo)準(zhǔn)德語創(chuàng)建的子目錄“de”;4)奧地利-德語的loc賣主遲到,但是標(biāo)準(zhǔn)德語中的局部化資源及時(shí)被接收到;5)局部化資源被放入“de”子目錄中,其中l(wèi)oc資源仍運(yùn)行,而AppX是熱放的(dropped hot)(例如,不必重新開始該業(yè)務(wù));
            6)對于“de-At”字符串的請求被用“de”字符串返回;和7)在后面的某個(gè)日子,當(dāng)“de-At”資源被放下時(shí),就返回它們。
            根據(jù)一個(gè)實(shí)施例,StringRes工具配置成管理多個(gè)字符串,其表示被以某種形式提供給用戶(例如,在下拉列表框內(nèi))。該工具提供了自動(dòng)完成功能,其中當(dāng)用戶選擇了StringRes正在管理的其中一個(gè)條目時(shí)(例如,從下拉框中選擇),該字符串的值就以某種形式提供給用戶(例如,在彈出框內(nèi))。
            例如,考慮StringRes工具管理包括“mystring=this is my string”在內(nèi)的STR1.strings的情形。如果,在設(shè)計(jì)程序界面內(nèi),用戶在合適的位置鍵入STR1(例如,作為VisualStudio.net IDE),那么將顯示相應(yīng)選項(xiàng)的列表(例如,在下拉列表框內(nèi))。如果用戶從選項(xiàng)列表中選擇了myString,那么該工具將報(bào)告相應(yīng)的值(例如,“this is my string”)。根據(jù)一個(gè)實(shí)施例,該值被報(bào)告于氣球或彈出框內(nèi)。因此,用戶能夠在設(shè)計(jì)時(shí)獲得所尋址的字符串的**值**。
            在此所描述的方法一般減少或消除了資源尋址的錯(cuò)誤,從而防止了將錯(cuò)誤引入到應(yīng)用程序中。在設(shè)計(jì)時(shí)提供資源的值,尤其是CLS順從資源的值,增強(qiáng)了代碼開發(fā)的生產(chǎn)率和精確性。
            本說明書包括有關(guān)如何特別地添加字符串到.strings文件的解釋。根據(jù)本發(fā)明的一個(gè)方面,StringRes工具還可處理標(biāo)準(zhǔn)文件(例如,標(biāo)準(zhǔn).resx文件)。根據(jù)一個(gè)實(shí)施例,當(dāng)字符串定義被通過StringRes工具功能性而添加到可用的定義中時(shí),所需的只是名稱/值對(例如,“mystring=this is my string”)。
            雖然本發(fā)明是參考特定實(shí)施例進(jìn)行了描述,但是本領(lǐng)域熟練人員將認(rèn)識到,在不脫離本發(fā)明精神和范圍的情況下,可以在形式和細(xì)節(jié)上做出變化。
            權(quán)利要求
            1.一種用來在受控代碼執(zhí)行環(huán)境的上下文中在運(yùn)行時(shí)之前減少編碼錯(cuò)誤的計(jì)算機(jī)實(shí)施方法,包括向開發(fā)人員提供對多個(gè)受控代碼資源的訪問;和驗(yàn)證由開發(fā)人員輸入的資源標(biāo)識符對應(yīng)于所述多個(gè)受控代碼資源中的其中一個(gè)。
            2.根據(jù)權(quán)利要求1的方法,其中驗(yàn)證包括向所述開發(fā)人員提供資源標(biāo)識符的集合;和以從所述資源標(biāo)識符集合中選擇的形式接收由開發(fā)人員輸入的所述資源標(biāo)識符。
            3.根據(jù)權(quán)利要求2的方法,其中提供資源標(biāo)識符集合包括提供對應(yīng)于由開發(fā)人員選擇的特定類的資源標(biāo)識符的集合。
            4.根據(jù)權(quán)利要求2的方法,其中提供資源標(biāo)識符集合包括響應(yīng)于開發(fā)人員激活鍵的輸入而提供資源標(biāo)識符集合。
            5.根據(jù)權(quán)利要求4的方法,其中響應(yīng)于激活鍵輸入而提供包括響應(yīng)于在輸入資源類之后的激活鍵的輸入而提供。
            6.根據(jù)權(quán)利要求2的方法,其中提供資源標(biāo)識符的集合包括提供鍵名集合。
            7.根據(jù)權(quán)利要求6的方法,進(jìn)一步包括向開發(fā)人員提供對應(yīng)于資源鍵名集合中所選的一個(gè)的資源值。
            8.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括向開發(fā)人員提供對應(yīng)于資源標(biāo)識符集合中所選一個(gè)的資源值。
            9.根據(jù)權(quán)利要求8的方法,其中提供資源值包括在彈出框內(nèi)提供信息。
            10.根據(jù)權(quán)利要求2的方法,其中提供所述資源標(biāo)識符的集合包括在下拉菜單內(nèi)提供信息。
            11.根據(jù)權(quán)利要求1的方法,其中向開發(fā)人員提供對多個(gè)受控代碼資源的訪問包括向開發(fā)人員提供對符合公共語言規(guī)范的多個(gè)資源的訪問。
            12.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括從開發(fā)人員接收對于受控代碼資源的添加。
            13.根據(jù)權(quán)利要求2的方法,其中提供資源標(biāo)識符集合包括響應(yīng)于開發(fā)人員的對應(yīng)于顯示資源信息的請求的輸入而提供資源標(biāo)識符集合。
            14.根據(jù)權(quán)利要求2的方法,其中響應(yīng)于開發(fā)人員的對應(yīng)于顯示資源信息的請求的輸入而提供資源標(biāo)識符集合包括響應(yīng)于當(dāng)光標(biāo)位于與信息可用性相關(guān)的位置時(shí)由開發(fā)人員做出的輸入,提供資源標(biāo)識符集合。
            15.根據(jù)權(quán)利要求2的方法,其中向開發(fā)人員提供資源標(biāo)識符集合包括向開發(fā)人員提供包括至少兩個(gè)標(biāo)識符的資源標(biāo)識符集合,其中每一個(gè)標(biāo)識本質(zhì)上相同資源的不同語言版本。
            16.一種用來開發(fā)軟件應(yīng)用程序的系統(tǒng),包括受控代碼基礎(chǔ)結(jié)構(gòu),其提供受控代碼執(zhí)行環(huán)境;設(shè)計(jì)程序,其提供支持開發(fā)人員生成至少部分地以受控代碼執(zhí)行環(huán)境為目標(biāo)的代碼的代碼生成環(huán)境;字符串資源工具,其補(bǔ)充所述設(shè)計(jì)程序并使開發(fā)人員能夠驗(yàn)證資源標(biāo)識符被正確地尋址以便對應(yīng)于由受控代碼執(zhí)行環(huán)境所支持的受控代碼資源。
            17.根據(jù)權(quán)利要求16的系統(tǒng),其中字符串資源工具進(jìn)一步被配置成使開發(fā)人員能夠驗(yàn)證資源標(biāo)識符被正確地尋址以便對應(yīng)于符合公共語言規(guī)范的資源。
            18.根據(jù)權(quán)利要求17的系統(tǒng),其中字符串資源工具被配置成使得開發(fā)人員能夠驗(yàn)證通過下面步驟來驗(yàn)證資源標(biāo)識符被正確地尋址通過界面向所述設(shè)計(jì)程序提供資源標(biāo)識符集合;和以從資源標(biāo)識符集合中選擇的形式,接收由開發(fā)人員輸入的資源標(biāo)識符。
            19.根據(jù)權(quán)利要求18的系統(tǒng),其中所述字符串資源工具進(jìn)一步配置成通過所述設(shè)計(jì)程序界面提供資源鍵名信息。
            20.根據(jù)權(quán)利要求18的系統(tǒng),其中字符串資源工具進(jìn)一步配置成通過設(shè)計(jì)程序界面提供值信息。
            21.一種用來在受控代碼執(zhí)行環(huán)境的上下文中在運(yùn)行時(shí)之前減少編碼錯(cuò)誤的字符串資源工具,包括工具組件,其通過設(shè)計(jì)程序界面提供字符串信息,其中所述字符串信息使得開發(fā)人員能夠從一可選對象的閉集中選擇一表示特定字符串的特定標(biāo)識符。
            22.根據(jù)權(quán)利要求21的字符串資源工具,其中所述字符串信息使開發(fā)人員能夠從一可選對象的閉集中選擇一符合公共語言規(guī)范的表示特定字符串的特定標(biāo)識符。
            23.根據(jù)權(quán)利要求21的字符串資源工具,其中所述可選對象的閉集對應(yīng)于由開發(fā)者選擇的特定類。
            24.根據(jù)權(quán)利要求21的字符串資源工具,其中所述工具組件配置成響應(yīng)于開發(fā)人員的激活鍵輸入而提供字符串信息到所述設(shè)計(jì)程序界面。
            25.根據(jù)權(quán)利要求21的字符串資源工具,其中所述工具組件進(jìn)一步配置成通過設(shè)計(jì)程序界面提供在所述可選對象閉集中表示的至少一個(gè)標(biāo)識符的值信息。
            全文摘要
            公開了一種用來在受控代碼執(zhí)行環(huán)境的情況中在運(yùn)行時(shí)之前減少編碼錯(cuò)誤的計(jì)算機(jī)實(shí)施的方法。該方法包括提供給開發(fā)人員到多個(gè)受控代碼資源的訪問。該方法還包括驗(yàn)證由開發(fā)人員輸入的資源標(biāo)識符對應(yīng)于所述多個(gè)受控代碼資源中的其中一個(gè)。
            文檔編號G06F9/44GK1670715SQ200510059428
            公開日2005年9月21日 申請日期2005年3月17日 優(yōu)先權(quán)日2004年3月17日
            發(fā)明者J·M·科利, M·J·曼克努爾蒂, M·A·沃特金斯 申請人:微軟公司
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品