用于 .NET 2.0 的文化和区域信息工具






3.33/5 (10投票s)
基于 System.Globalization.CultureAndRegionInfoBuilder 的 .NET 2.0 文化和区域信息工具
引言
在许多企业环境中,定义自定义文化和区域信息是很常见的做法。
在 .NET Framework 2.0 中,我们可以使用 CultureAndRegionInfoBuilder 类来构建基于现有文化和区域的新自定义文化。该自定义文化可以安装在计算机上,然后由在该计算机上运行的任何应用程序使用。
使用这个类,我构建了一个小的命令行工具来提取、注册和注销文化和区域信息。
工具
该工具只是一个简单的命令行解析器,它调用 CultureAndRegionInfoBuilder 类的方法。
提取文化和区域信息
为了提取文化和区域信息,会为指定的文化创建一个 CultureAndRegionInfoBuilder 实例,使用 Replacement 修饰符,并将其 保存 到指定的文件。
private static void ExtractCultureAndRegionInfo(string cultureName, string filenName)
{
FileInfo fileInfo = GetFileInfo(filenName);
if (fileInfo.Exists)
{
fileInfo.Delete();
}
CultureAndRegionInfoBuilder cultureAndRegionInfoBuilder
= new CultureAndRegionInfoBuilder
(cultureName, CultureAndRegionModifiers.Replacement);
cultureAndRegionInfoBuilder.Save(fileInfo.FullName);
}
注册文化和区域信息
为了注册文化和区域信息,会从指定的 LDML 定义文件创建一个 CultureAndRegionInfoBuilder 实例,并将其 注册。
private static void RegisterCustomCulture(string filenName)
{
FileInfo fileInfo = GetFileInfo(filenName);
CultureAndRegionInfoBuilder cultureAndRegionInfoBuilder =
CultureAndRegionInfoBuilder.CreateFromLdml(fileInfo.FullName);
cultureAndRegionInfoBuilder.Register();
}
注销文化和区域信息
为了注销文化和区域信息,会为指定的文化调用 CultureAndRegionInfoBuilder 的 Unregister
方法。
private static void UnregisterCustomCulture(string cultureName)
{
CultureAndRegionInfoBuilder.Unregister(cultureName);
}