在不同的语言操作系统中是相同类型的字段吗

本文关键字:同类型 字段 操作系统 语言 | 更新日期: 2023-09-27 18:22:32

我正在创建一个支持多语言操作系统的应用程序。在应用程序的某个位置,我正在使用以下代码行。

Type t = typeof(System.Windows.Forms.NotifyIcon);
BindingFlags hidden = BindingFlags.NonPublic | BindingFlags.Instance;
t.GetField("text", hidden).SetValue(notifyIcon, notificationToolTip);

它会在不同语言的操作系统上顺利运行吗?或者我必须为不同的语言更改所需的字段。例如,对于法语操作系统,我必须进行以下更改。

t.GetField("texte",hidden),SetValue(notifyIcon,notificationToopTip);

在不同的语言操作系统中是相同类型的字段吗

否,成员的名称不依赖于操作系统的语言设置。当你这样声明一个类时:

public class Foo
{
    public string Name { get; set; }
}

这不像编译器自动将其翻译成法语等的Nom

另一方面,非公共成员的名称可以在库的不同版本之间更改-非公共成员的全部意义在于你不打算使用它们,这意味着库作者以后完全可以自由更改它们这是代码的脆性方面,而不是国际化方面。