|
在《上篇》中我們談到ResourceManager在默認的情況下只能提供對內嵌于程序集的.resources資源文件的存取。為了實現對獨立二進制.resources資源文件的支持,我們自定義了BinaryResoruceNManager。在本篇中我們還將創建兩個自定義的ResourceManager,以實現對獨立.resx資源文件和自定義結構的XML資源文件的支持。(文中的例子從這里下載)
一、自定義ResXResourceManager實現對.Resx資源文件的支持
二、將資源定義在自定義結構的XML文件中
三、為XML資源存儲形式定義ResourceReader和ResourceWriter
四、為XML資源存儲形式定義ResourceSet
五、為XML資源存儲形式定義ResourceManager
六、補充
一、自定義ResXResourceManager實現對.Resx資源文件的支持
較之.resources資源文件這種二進制文件,以XML形式定義的.Resx資源文件是一個純文本文件,我們可以對其進行自由地修改,所以有時候我們直接將獨立的.resx文件作為資源存儲形式更利于資源內容的維護。在《上篇》中我們創建了自定義的BinaryResourceManager實現了對獨立.resources資源文件的支持,這里我們僅僅需要采用相似的方式定義一個ResXResourceManager。由于.NET已經提供了支持.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技術:.NET的資源并不限于.resx文件,你可以采用任意存儲形式 [下篇],轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。