📥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.

  1. Obtener el Tipo de la Clase 🏷️

Primero, obtén el tipo (Type) del objeto o clase que estás inspeccionando.

Type tipo = typeof(TuClase);
  1. Obtener la Propiedad Específica 🎯

Luego, obtén un objeto PropertyInfo para la propiedad específica que te interesa.

PropertyInfo propiedad = tipo.GetProperty("NombreDeTuPropiedad");
  1. Acceder al Atributo Personalizado 🗝️

Finalmente, usa el método GetCustomAttribute para obtener tu atributo personalizado aplicado a esa propiedad.

var atributo = propiedad.GetCustomAttribute<TuAtributoPersonalizado>();
  1. 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:

  1. Obtener el Tipo

Type tipoAnimal = typeof(Animal);
  1. Obtener la Propiedad Gato

PropertyInfo propiedadGato = tipoAnimal.GetProperty("Gato");
  1. Acceder al Atributo DescriptionAttribute

var descripcionGato = propiedadGato.GetCustomAttribute<DescriptionAttribute>();
  1. Imprimir la Descripción

if (descripcionGato != null)
{
    Console.WriteLine(descripcionGato.DescriptionEn); // "Este es un gato"
}

Última actualización