2010-02-02 4 views
0

J'utilise PropertyEditor dans l'application .NET 3.5 pour autoriser les utilisateurs à modifier les paramètres contenus dans certaines classes sérialisées. Cette application nécessite une localisation pour prendre en charge plusieurs langues. Chaînes localisées implémentées à l'aide de ressources .NET standard. PropertyEditor exige que la catégorie, le nom d'affichage et la description soient définis par des attributs. Exemple ci-dessous:Problèmes de localisation PropertyEditor

[CategoryAttribute("Some category"), 
    DisplayNameAttribute("Some name"), 
    DescriptionAttribute("Some description"), 
    EditorAttribute(typeof(SomeEditor), typeof(System.Drawing.Design.UITypeEditor))] 
    public SomeType SomeValue {get; set;} 

Mais compilateur ne me permet pas d'utiliser la chaîne de ressources en valeur d'attribut, en changeant la première ligne comme celui-ci:

[CategoryAttribute(Resources.labels.SomeCategory), 

Produit erreur: « L'expression étant affectée à « App.Settings .SomeCategory 'doit être constant. "

Quelqu'un peut-il m'aider à localiser correctement l'éditeur de propriétés dans WinForms?

Répondre

0

J'ai rencontré le même problème il y a un mois. Je n'ai trouvé aucune solution plus facile/autre que this article ou its follow-up.

Je ne suis pas sûr si j'aime ça, mais je ne connais pas d'alternative.

+0

Merci, c'est la solution, pas très élégante mais fonctionnelle. – koldovsky

+0

Je suis confronté au problème de globalisation de l'attribut Category pendant l'exécution. L'auteur de l'article a souligné "qu'il espère que le problème sera traité dans le framework .net 1.1". C'est .net 4.5 et rien n'a changé depuis. – Larry