Tengo un tipo, t
y me gustaría obtener una lista de las propiedades públicas que tienen el atributo MyAttribute
. El atributo está marcado con AllowMultiple = false
, así:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
Actualmente lo que tengo es esto, pero creo que hay una mejor manera:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
¿Cómo puedo mejorar esto? Mis disculpas si esto es un duplicado, hay un montón de hilos de reflexión por ahí ... parece que es un tema bastante candente.