باستخدام system.componentmodel.displayName مع القيم الديناميكية؟

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

سؤال

أنا أحاول تنفيذ دعم متعدد اللغات في نظامي ، تستخدم الأنظمة الأخرى في العمل XMLFILES لهذا الناتج من قاعدة بيانات استخدموها لبعض الوقت الآن حتى يريدون مني استخدام هذا ASWELL.

لقد تمكنت من ترجمة كل شيء باستثناء أسماء DisplayNames في نموذجات FormModels الخاصة بي ، يمكن أن تكون هذه القيم قيمًا ثابتة فقط ، لذا لا يمكنني استخدام طريقة تحصل على الترجمة الصحيحة.

هذه هي الطريقة التي يكون بها الرمز الآن:

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

وأريد أن أفعل شيئًا كهذا:

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

هل من الممكن العمل حول هذا؟ أو ربما هناك طريقة أفضل للقيام بذلك وما زالت تستخدم XMLFILES؟

هل كانت مفيدة؟

المحلول

ستحتاج إلى إنشاء السمة المخصصة الخاصة بك يمكنها قراءة قيم XML:

public class CustomDisplayName : DisplayNameAttribute
{
    public CustomDisplayName()
    {
        this.DisplayName = MyXmlReader.Read(DisplayName);
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top