Tengo el siguiente atributo personalizado, que puede ser aplicado sobre las propiedades:atributo personalizado en la propiedad - Conseguir tipo y valor de la propiedad atribuida
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class IdentifierAttribute : Attribute
{
}
Por ejemplo:
public class MyClass
{
[Identifier()]
public string Name { get; set; }
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
también habrá otras clases, a las que se podría agregar el atributo Identificador a las propiedades de tipo diferente:
public class MyOtherClass
{
public string Name { get; set; }
[Identifier()]
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
Necesito poder obtener esta información en mi clase de consumo. Por ejemplo:
public class TestClass<T>
{
public void GetIDForPassedInObject(T obj)
{
var type = obj.GetType();
//type.GetCustomAttributes(true)???
}
}
Cuál es la mejor manera de ir sobre esto? Necesito obtener el tipo del campo [Identificador()] (int, cadena, etc.) y el valor real, obviamente basado en el tipo.
gracias - puede' T uso "prop" dentro de la lambda en FirstOrDefault, pero lo he ordenado :-) – Alex
Ahh sí, estaba escribiendo en el bloc de notas ;-) corregido. –
He marcado mi propiedad con [Identificador()] pero .GetProperties() devuelve todas las demás propiedades, EXCEPTO esta? mi atributo parece ocultarlo ?? – Alex