1
我有一个可选的错误文本像这样的属性:是否可以给一个属性一个变量文本?
[DoubleRangeCheck(2.0, 10.0, ErrorMessage="Text shown on error")]
现在我要本地化的错误信息,所以我试图
[DoubleRangeCheck(2.0, 10.0, ErrorMessage=Properties.Resources.MsgLocalisedError)]
但我得到一个编译器错误,指出属性必须是恒定的。
error CS0182: An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
所以这是不可能的,或者我错过了什么?
如何将文本参数本地化为属性?
我认为这是正确的轨道。但是,我将如何做到这一点在自定义属性(我没有base.GetLocalizedString)?由于我的属性在不同的程序集中,我不知道如何获得正确的ResourceManager才能找到字符串。 – MTR 2014-10-28 11:03:28
@MTR就像我说的:这一切都归结为'[DoubleRangeCheck(...)]'和/或*检查该属性的代码是否设计时考虑了本地化。 – 2014-10-28 11:14:29