tengo este código:Como llegar atributos valor
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Como llegar valor de CustomAttribute por ejemplo, una?
tengo este código:Como llegar atributos valor
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Como llegar valor de CustomAttribute por ejemplo, una?
A lo largo de las líneas de:
MyAttribute [] myAttributes
= (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true);
No se puede entender lo que quiere decir con "sin usar foreach", excepto que GetCustomAttributes siempre devuelve un array de ellos (a cuenta por tener múltiples atributos) . Si sabe que solo puede haber uno, simplemente use el primero.
MyAttribute theAttrib = myAttributes[0];
Console.WriteLine(theAttrib.CustomAttribute);
Hay una buena muestra aquí:
http://msdn.microsoft.com/en-us/library/z919e8tw.aspx
Para hacer esto sin un foreach que tendría que asumir que no hay otros atributos que se aplica al tipo, y el índice del primer atributo directamente.
var attribs = (MyAttributeAttribute[]) typeof(MyClass).GetCustomAttributes(
typeof(MyAttributeAttribute),
true);
Console.WriteLine(attribs[0].CustomAttribute); // prints 'Value'
"No se puede entender lo que quiere decir con 'sin usar foreach'" -> puedo encontrar algunos malos ejemplos que utilizan foreach para leer todos los atributos de valor – Dusan
Sí, pero los malos ejemplos son sólo eso - ejemplos - debes tomar el conocimiento que dan y usarlo como mejor te parezca. – Jamiec