2010-02-02 3 views
0

Я использую PropertyEditor в приложении .NET 3.5, чтобы позволить пользователям редактировать настройки, содержащиеся в некотором сериализованном классе. Это приложение требует локализации для поддержки нескольких языков. Локализованные строки, реализованные с использованием стандартных ресурсов .NET.Проблемы с локализацией PropertyEditor

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

Я столкнулся с той же проблемой месяц назад. Я не нашел более легкого/другого решения, чем this article или its follow-up.

Я не уверен, что мне так нравится, но я не знаю ни о какой альтернативе.

+0

Спасибо, это решение, не очень элегантное, но работающее. – koldovsky

+0

Я столкнулся с проблемой глобализации атрибутов категории во время выполнения. Автор статьи указал, что «он надеется, что проблема будет решена в рамках .net framework 1.1». Это .net 4.5, и с тех пор ничего не изменилось. – Larry

Смежные вопросы