📥Acceso a los atributos
Para acceder a los atributos personalizados de una propiedad, necesitas usar reflexión. Esto te permite inspeccionar las propiedades de una clase en tiempo de ejecución y recuperar cualquier metadato asociado con ellas.
Obtener el Tipo de la Clase 🏷️
Primero, obtén el tipo (Type
) del objeto o clase que estás inspeccionando.
Type tipo = typeof(TuClase);
Obtener la Propiedad Específica 🎯
Luego, obtén un objeto PropertyInfo
para la propiedad específica que te interesa.
PropertyInfo propiedad = tipo.GetProperty("NombreDeTuPropiedad");
Acceder al Atributo Personalizado 🗝️
Finalmente, usa el método GetCustomAttribute
para obtener tu atributo personalizado aplicado a esa propiedad.
var atributo = propiedad.GetCustomAttribute<TuAtributoPersonalizado>();
Usar los Valores del Atributo 📊
Una vez que tienes el atributo, puedes acceder a sus propiedades como lo harías con cualquier otro objeto.
if (atributo != null)
{
Console.WriteLine(atributo.TuPropiedadDelAtributo);
}
Ejemplo Práctico 📝
Imagina que tienes una clase Animal
con un atributo personalizado DescriptionAttribute
.
public class Animal
{
[Description("Este es un gato", "Es un animal doméstico")]
public string Gato { get; set; }
}
Para acceder a la descripción del atributo aplicado a la propiedad Gato
, seguirías estos pasos:
Obtener el Tipo
Type tipoAnimal = typeof(Animal);
Obtener la Propiedad
Gato
PropertyInfo propiedadGato = tipoAnimal.GetProperty("Gato");
Acceder al Atributo
DescriptionAttribute
var descripcionGato = propiedadGato.GetCustomAttribute<DescriptionAttribute>();
Imprimir la Descripción
if (descripcionGato != null)
{
Console.WriteLine(descripcionGato.DescriptionEn); // "Este es un gato"
}
Última actualización