CLR via C# 读书笔记2-6
来源:互联网 发布:程序员的烦恼 编辑:程序博客网 时间:2024/05/29 04:50
Culture
程序集包含有 culture 信息,并作为其标示的一部分,程序集能被限定为某一特定的 culture (German, US English 等等),Culture 使用一个字符串(RFC 1766)来标示。
通常一个仅包含源代码的程序集,并不包含特定的 culture 信息,所以也就不需要特别指定,这样的程序集是中性 culture (culture neutral)的。
当设计一个特定culture的程序集时,Microsoft 建议把你的代码和缺省culture的资源打包成一个程序集,这个程序集不要指定 culture(culture neutral)。然后建立其他的程序集,这些程序集只包含特定 culture 的资源并明确指定其culture(这些程序集的术名称为: satellite assemblies)。此时记得一个culture 一个 satellite assembly。
通常使用 AL.exe 来建立 satellite assembly,不用编译器是因为这些程序集中没有代码。使用 AL.exe 时使用 /c[ulture]:text 开关,参数就是culture字符串,例如: “en-US”。
配布 satellite assembly 的时候你应当把它放在子目录中,并且目录名要和culture字符串一致,例如你的程序目录为 C:\MyApp,那么“en-US” 的 satellite assembly 就应当放在 C:\MyApp\en-US 子目录中,运行时你可以通过使用System.Resources.ResourceManager类来访问这些 satellite assembly 中的资源。
提示:生成包含代码的 satellite assembly 也是能做到的(虽然没什么大的意义),要这么做你得使用 System.Reflection.AssemblyCultureAttribute 来指定 culture (不能使用 AL.exe 的 /culture 开关)。代码如下:
// Set assembly's culture to Swiss German[assembly:AssemblyCulture("de-CH")]
最后请记得不要参照这些 satellite assembly,你只应当参照中性culture(culture-neutral) 的程序集。特殊情况下当你需要访问这些 satellite assembly 中的成员时,应当考虑使用“反射”。
- CLR via C# 读书笔记2-6
- clr via c#读书笔记
- CLR via C#读书笔记
- CLR via C# 读书笔记1-6
- CLR via C# 读书笔记2-2
- CLR via C# 读书笔记1-2
- CLR via C# 读书笔记2-1
- CLR via C# 读书笔记2-3
- CLR via C# 读书笔记2-4
- CLR via C# 读书笔记2-4 追记
- CLR via C# 读书笔记2-5
- CLR via C# 读书笔记2-7
- CLR via C# 读书笔记目录
- CLR via C# 2
- CLR via C# 读书笔记 1-2 创建线程的成本
- CLR via C# 读书笔记 6-2 不同AppDomain之间的通信
- CLR via C# 读书笔记1-1
- CLR via C# 读书笔记1-3
- golang继承,和多态
- C#判断网络连接状态
- 开终端的快捷键 Ctrl+Alt+T ,sudo nautilus 开图形root权限,升级ubuntu
- 三种基于比较的nlgn排序算法 - 归并-堆-快排 - C++实现
- Android 控件之ImageSwitcher图片切换器
- CLR via C# 读书笔记2-6
- spring bean 的作用域
- 把图片转化为灰度图
- C语言用指针实现将字符串里的单词顺序倒置
- C#区分中英文统计字符串的长度
- CLR via C# 读书笔记2-7
- 如何使用SignalTap II观察reg值?
- 同样都是搞技术的,国内和国外的差距,怎么就这么大呢?
- 设计模式 - 外观模式