تقدم هذه المقالة طريقة عامة للوصول إلى قيم الخصائص واستخراجها ديناميكيًا للفئة.
تحديد طريقة شائعة تقبل المعلمات النوع:
public string GetDomainName()
]
داخل الطريقة:
استخدم typeof (t) .getCustomAttributes
لاسترداد السمات المخصصة:
var dnAttribute = typeof(T).GetCustomAttributes(
typeof(DomainNameAttribute), true
).FirstOrDefault() as DomainNameAttribute;
في حالة وجود خاصية ، يتم إرجاع قيمتها:
if (dnAttribute != null)
{
return dnAttribute.Name;
}
خلاف ذلك ، إرجاع فارغة:
return null;
]
للتطبيق الأوسع ، قم بتعميم هذه الطريقة للتعامل مع أي سمة:
public static class AttributeExtensions
{
public static TValue GetAttributeValue(
this Type type,
Func valueSelector)
where TAttribute : Attribute
}
داخل طريقة التمديد:
var att = type.GetCustomAttributes(
typeof(TAttribute), true
).FirstOrDefault() as TAttribute;
لاستخراج القيمة المطلوبة: ]
if (att != null)
{
return valueSelector(att);
}
إرجاع الافتراضي (tvalue) ؛
return default(TValue);
اسم السلسلة = typeof (myClass) .getDomainName
string name = typeof(MyClass).GetDomainName();
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3