|
在《上篇》中我們談到ResourceManager在默認(rèn)的情況下只能提供對內(nèi)嵌于程序集的.resources資源文件的存取。為了實現(xiàn)對獨立二進(jìn)制.resources資源文件的支持,我們自定義了BinaryResoruceNManager。在本篇中我們還將創(chuàng)建兩個自定義的ResourceManager,以實現(xiàn)對獨立.resx資源文件和自定義結(jié)構(gòu)的XML資源文件的支持。(文中的例子從這里下載)
一、自定義ResXResourceManager實現(xiàn)對.Resx資源文件的支持
二、將資源定義在自定義結(jié)構(gòu)的XML文件中
三、為XML資源存儲形式定義ResourceReader和ResourceWriter
四、為XML資源存儲形式定義ResourceSet
五、為XML資源存儲形式定義ResourceManager
六、補(bǔ)充
一、自定義ResXResourceManager實現(xiàn)對.Resx資源文件的支持
較之.resources資源文件這種二進(jìn)制文件,以XML形式定義的.Resx資源文件是一個純文本文件,我們可以對其進(jìn)行自由地修改,所以有時候我們直接將獨立的.resx文件作為資源存儲形式更利于資源內(nèi)容的維護(hù)。在《上篇》中我們創(chuàng)建了自定義的BinaryResourceManager實現(xiàn)了對獨立.resources資源文件的支持,這里我們僅僅需要采用相似的方式定義一個ResXResourceManager。由于.NET已經(jīng)提供了支持.Resx資源文件的ResourceSet、ResourceReader和ResourceWriter,所以ResXResourceManager和BinaryResourceManager一樣簡單,下面是其全部定義。
public class ResXResourceManager : FileResourceManager
{
public ResXResourceManager(string directory, string baseName)
: base(directory, baseName, ".resx")
{}
protected override ResourceSet InternalGetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents)
{
return new ResXResourceSet(this.GetResourceFileName(culture));
}
}
NET技術(shù):.NET的資源并不限于.resx文件,你可以采用任意存儲形式 [下篇],轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。