باستخدام system.componentmodel.displayName مع القيم الديناميكية؟
-
29-09-2019 - |
سؤال
أنا أحاول تنفيذ دعم متعدد اللغات في نظامي ، تستخدم الأنظمة الأخرى في العمل 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);
}
}
لا تنتمي إلى StackOverflow