У меня есть атрибут с дополнительным текстом ошибки следующим образом:Можно ли присвоить атрибуту переменный текст?
[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
@MTR как я говорю: все сводится к тому, что '[DoubleRangeCheck (...)]' и/или код, который * проверяет *, этот атрибут был разработан с учетом локализации. –