C# C语言中的区域化设计模式#
我目前正在为一个将在多种语言中使用的界面创建GUI 我工作的环境是Unity 4.2和Mono C#。应用程序必须保持非常跨平台的兼容性(包括web、ios、Linux和windows) 我试图实现的是一种处理多种语言的好方法,允许轻松添加一种额外的语言或一个额外的字段。如果我使用ruby或python,我相信这可能是一个不错的解决方案C# C语言中的区域化设计模式#,c#,design-patterns,internationalization,mono,unity3d,C#,Design Patterns,Internationalization,Mono,Unity3d,我目前正在为一个将在多种语言中使用的界面创建GUI 我工作的环境是Unity 4.2和Mono C#。应用程序必须保持非常跨平台的兼容性(包括web、ios、Linux和windows) 我试图实现的是一种处理多种语言的好方法,允许轻松添加一种额外的语言或一个额外的字段。如果我使用ruby或python,我相信这可能是一个不错的解决方案 class RegionalDB: def __init__(self): # Maybe connect to a data sour
class RegionalDB:
def __init__(self):
# Maybe connect to a data source such as a db, or files
def set_language(self, lang):
# Verify we have this lang, error if not
# Set an attribute on self for every field entry in this language
text = RegionalDB()
text.set_language('de')
print text.exit_button
上述方法将允许我使用python对象的强大功能,能够在运行时动态分配成员。上面的代码将以德语打印数据源“exit_button”字段中的文本。在ruby中,我可以做类似的事情,或者我可以使用attribute_missing函数直接查询数据源,而不是一次将内存中的所有变量分配给对象
不幸的是,C#的反射代码没有上面提到的脚本那么优雅。因此,我的问题如下: