c# - Are fields of a type the same in different Language Operating System -


i creating application support multilingual operating system . @ 1 place in application using following line of code.

type t = typeof(system.windows.forms.notifyicon); bindingflags hidden = bindingflags.nonpublic | bindingflags.instance; t.getfield("text", hidden).setvalue(notifyicon, notificationtooltip); 

will run smoothly on different language operating system , or have change required fields different language. example , french operating system have make following changes.

t.getfield("texte",hidden),setvalue(notifyicon,notificationtooptip); 

no, names of members not dependent on language settings of operating system. when declare class this:

public class foo {     public string name { get; set; } } 

... it's not compiler automatically translates nom in french etc.

on other hand, names of non-public members can change between different versions of library - whole point of them being non-public you're not meant use them, means library author entirely @ liberty change them later. that's aspect of code brittle - not internationalization aspect.


Comments