总而言之,我正在本地化我的 C# 应用程序,并且我已经进入了我的设置控制。当我使用 aPropertyGrid
时,我正在使用属性来提供选项。我有一个CategoryAttribute
“服务器访问”,我需要用不同的语言显示 - 我有:
[CategoryAttribute("ServerAccess"),
ReadOnlyAttribute(false),
XmlElement,
DescriptionAttribute("Message about the Server Access Option.")]
public bool ShowSystemDatabases
{
get { return this.showSystemDatabases; }
set { this.showSystemDatabases = value; }
}
我试图将其更改为:
[CategoryAttribute(ObjectStrings.SettingsServerAccess),
ReadOnlyAttribute(false),
XmlElement,
DescriptionAttribute(MessageStrings.SettingsShowSystemDatabaseInfo)]
public bool ShowSystemDatabases
{
get { return this.showSystemDatabases; }
set { this.showSystemDatabases = value; }
}
我的资源文件在哪里ObjectStrings
('ObjectStrings.resx' 等)。这会引发编译时错误
An attribute argument must be a constant expression, typeof expression or array
creation expression of an attribute parameter type...
显然,当构造函数需要一个const string
. 我尝试过从使用各种绕行方法进行转换string
,const string
但都失败了。这是一个很简单的问题,但是...
解决这个问题的最简单方法是什么?
谢谢你的时间。