Gau*_*rav 0 c# field notifyicon
我正在创建一个支持多语言操作系统的应用程序.在应用程序的一个地方,我使用以下代码行.
Type t = typeof(System.Windows.Forms.NotifyIcon);
BindingFlags hidden = BindingFlags.NonPublic | BindingFlags.Instance;
t.GetField("text", hidden).SetValue(notifyIcon, notificationToolTip);
Run Code Online (Sandbox Code Playgroud)
它是否可以在不同的语言操作系统上顺利运行,或者我必须更改不同语言的必填字段.例如,对于法语操作系统,我必须进行以下更改.
t.GetField("texte",hidden),SetValue(notifyIcon,notificationToopTip);
Run Code Online (Sandbox Code Playgroud)
不,成员的名称不依赖于操作系统的语言设置.当你声明一个这样的类时:
public class Foo
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
...它不像编译器自动将其翻译成Nom法语等.
另一方面,非公共成员的名字可以在图书馆的不同版本之间进行更改 - 它们的非公开性的全部意义在于您不打算使用它们,这意味着图书馆作者完全可以自由使用以后改变它们.这是你的代码的一个方面很脆弱 - 而不是国际化方面.
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |