Использование System.componentmodel.displayName с динамическими значениями?

StackOverflow https://stackoverflow.com/questions/3521587

Вопрос

Я пытаюсь внедрить поддержку многоязычной в моей системе, другие системы в работе используют XMLFILES для этого, сгенерированной из базы данных, которую они использовали в течение некоторого времени, поэтому они хотят, чтобы я использовал это.

Мне удалось перевести все, кроме имен DisplayN в моих FormModels, эти значения могут быть только постоянными значениями, поэтому я не могу использовать метод, который получает правильный перевод.

Так сейчас код:

[System.ComponentModel.DisplayName("Kontraktnamn")]
public string Name { get; set; }

И я хочу сделать что -то вроде этого:

[System.ComponentModel.DisplayName(GetTextByKey("Contract_Name"))]
public string Name { get; set; }

Можно ли обойти это? Или, может быть, есть лучший способ сделать это и при этом использовать XMLFILE?

Это было полезно?

Решение

Вам нужно будет создать свой собственный атрибут, который может прочитать значения XML:

public class CustomDisplayName : DisplayNameAttribute
{
    public CustomDisplayName()
    {
        this.DisplayName = MyXmlReader.Read(DisplayName);
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top