久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C# 資源文件(一)

 goodwangLib 2013-10-28
資源文件概念
    在 .NET 中準備 World-Ready 程序時需要三步:Globalization ,、Localizability 和 Localization。第三步的Localization就是使用資源文件最常見的地方,。程序的邏輯界面需要與資源界面隔離,而資源界面就是我們所說的資源文件,。顧名思義,一個資源文件中當(dāng)然全是資源,,這里所謂的資源就是程序中可利用的數(shù)據(jù),,譬如:字符串,、圖片和任何二進制數(shù)據(jù),包括任何類型的文件,。
    資源文件可以有多種語言版本。如,,一個 Strings.resources 文件可以有英語版,、簡體中文版,、繁體中文版等,。 ResourceManager 可以自動根據(jù)文件名來確認調(diào)用哪個版本。不同的版本只要在文件名中添入區(qū)域語言就可以了,。比如:
    Strings.resources -------------- 默認版
    Strings.en-US.resources -------- 美國英語版
    Strings.zh-CHS.resources ------- 簡體中文版
    Strings.zh-CHT.resources ------- 繁體中文版
    所謂的默認版就是當(dāng)找不到適當(dāng)?shù)馁Y源版本時用的資源,。默認文件應(yīng)當(dāng)被嵌入到主 Assembly 中,,這樣就不會發(fā)生找不到資源的錯誤,。在 VS.NET 中將一個文件的屬性設(shè)為 Embedded Resource , 就可以使資源被嵌入到主 Assembly 中。
資源文件類型
     System.Resources名字空間支持三種資源文件:
(1).txt 文件,,只能有字符串資源。因為不能被嵌入到 Assembly 中,,所以很容易暴露,,被客戶修改。最大缺點是僅支持字符串資源,,所以不推薦使用。
(2).resx 文件,,由 XML 組成,可以加入任何資源,,包括二進制。同樣不能被嵌入到 Assembly 中,。在 System.Resources 名字空間中有專用讀寫的類,。VS.NET 創(chuàng)建這種文件然后將其轉(zhuǎn)成 .resources 文件并根據(jù)設(shè)置將其嵌入到 Assembly 中,。
(3).resources 文件,PE 格式,,可以加入任何資源。唯一可以被嵌入到 Assembly 的文件,,在 System.Resources 名字空間中有專用讀寫的類。
資源文件調(diào)用方法
  ResourceManager 可以根據(jù)不同的 UICulture 設(shè)置返回不同的本地資源,我們只需知道調(diào)用資源用到它就可以了,。接下來讓我們看看如何調(diào)用每一種:
(1).txt 文件:不可以直接調(diào)用,,得先將其轉(zhuǎn)換成 .resources 文件才能使用,。
(2).resx 文件:可以用 ResXResourceReader 來做讀取,但是這種方法不直觀,,不推薦直接調(diào)用 .resx 文件。正確的方法是將其轉(zhuǎn)換成 .resources 文件,,然后用 ResourceManager 作讀取工作。注意如果是在 VS.NET 中添加的 .resx 文件,,那么它們自動被設(shè)為 Embedded Resource,轉(zhuǎn)成 .resources 文件后被嵌入到 Assembly 中,。
(3).resources 文件分成兩種情況:
    1,、被嵌入或編譯成 Satellite Assembly:使用ResourceManager來獲得在 Assembly 中的資源,。
  2,、單獨文件,沒被編譯或嵌入到Assembly:使用ResourceManager.CreateFileBasedResourceManager來獲得資源集(ResourceSet),。
(4)特殊情況:當(dāng)直接嵌入一資源時,,也就是說,不通過一個資源文件而直接將一資源嵌入到 Assembly 中,。這可以在 VS.NET 中通過設(shè)置一文件的 Build 屬性為 Embedded Resource 實現(xiàn)。在這種情況下 ResourceManager 就沒有用了,,因為它只能獲取 .resources 資源文件。那么如何調(diào)用這類的資源呢,?不難,我們需要利用一些 Reflection 中的特征,。別怕,不是讓你再學(xué) Reflection,,其實我們只要了解一些 System.Reflection.Assembly 這個類中的一些函數(shù)就可以了。有三個相關(guān)函數(shù),,不過我們只需要 Assembly.GetManifestResourceStream 這個函數(shù),。這個函數(shù)將一嵌入到 Assembly 中的資源以 stream 的方式返回,,而我們可以將這個 stream 轉(zhuǎn)成在 .NET 中可用的對象。比如,,如果嵌入資源是一圖片,那么我們可以利用 New Bitmap(Stream) 這個構(gòu)造方法獲得這個圖片資源的 Bitmap 對象,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多