Ich habe einen Typ, t
und möchte eine Liste der öffentlichen Eigenschaften erhalten, die das Attribut haben MyAttribute
. Das Attribut ist AllowMultiple = false
wie folgt gekennzeichnet :
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Momentan habe ich Folgendes, aber ich denke, es gibt einen besseren Weg:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
Wie kann ich das verbessern? Ich entschuldige mich, wenn dies ein Duplikat ist, gibt es da draußen eine Menge Reflexionsfäden ... scheint ein ziemlich heißes Thema zu sein.