我在.NET 3.5应用程序中使用PropertyEditor,允许用户编辑某些序列化类中包含的设置。此应用程序需要本地化以支持多种语言。 使用标准.NET资源实现的本地化字符串。
PropertyEditor要求通过属性设置类别,显示名称和描述。示例如下:
[CategoryAttribute("Some category"),
DisplayNameAttribute("Some name"),
DescriptionAttribute("Some description"),
EditorAttribute(typeof(SomeEditor), typeof(System.Drawing.Design.UITypeEditor))]
public SomeType SomeValue {get; set;}
但编译器不允许我在属性值中使用资源字符串,改变第一行如下:
[CategoryAttribute(Resources.labels.SomeCategory),
产生错误:“分配给'App.Settings.SomeCategory'的表达式必须是常量。”
任何人都可以帮我解决如何在WinForms中正确本地化属性编辑器的问题吗?
答案 0 :(得分:0)
我在一个月前遇到了同样的问题。我找不到比this article或its follow-up更简单/其他解决方案。
我不确定我是否喜欢这种方式,但我不知道任何替代方案。