In diesem Artikel wird eine allgemeine Methode zum dynamischen Zugriff auf und extrahieren von Eigenschaftswerten einer Klasse eingeführt.
Definieren Sie eine gemeinsame Methode, die Typparameter akzeptiert:
public string GetDomainName()
]
In der Methode:
verwenden typeof (t) .getCustomatTributes
, um benutzerdefinierte Attribute abzurufen:
var dnAttribute = typeof(T).GetCustomAttributes(
typeof(DomainNameAttribute), true
).FirstOrDefault() as DomainNameAttribute;
if (dnattribute! = null) { return dnattribute.name; }
if (dnAttribute != null)
{
return dnAttribute.Name;
}
return null;
return null;
public statische Klasse AttributeExteesions { öffentliches statisches TValue GetattributeValue
public static class AttributeExtensions
{
public static TValue GetAttributeValue(
this Type type,
Func valueSelector)
where TAttribute : Attribute
}
var att = type.getCustomatTributes ( typeof (tattribute), true ).
var att = type.GetCustomAttributes(
typeof(TAttribute), true
).FirstOrDefault() as TAttribute;
valulector if (att! = null)
{
Rückgabevalientelektor (ATT);
}
if (att != null)
{
return valueSelector(att);
}
]]
return default(TValue);
string name = typeof (myclass) .getDomAinName string name = typeof(MyClass).GetDomainName();
mit der Erweiterungsmethode:
string name = typeof (myclass)
.GetAtTributeValue Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3