J'ai ce code:Comment obtenir les attributs valeur
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Comment obtenir la valeur de CustomAttribute par exemple une?
J'ai ce code:Comment obtenir les attributs valeur
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Comment obtenir la valeur de CustomAttribute par exemple une?
Le long des lignes de:
MyAttribute [] myAttributes
= (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true);
Je ne comprends pas ce que vous entendez par « sans utiliser foreach », sauf que GetCustomAttributes retourne toujours un tableau d'entre eux (pour tenir compte d'avoir plusieurs attributs) . Si vous savez qu'il ne peut y en avoir qu'un, utilisez le premier.
MyAttribute theAttrib = myAttributes[0];
Console.WriteLine(theAttrib.CustomAttribute);
Il y a un bon échantillon ici:
http://msdn.microsoft.com/en-us/library/z919e8tw.aspx
Pour ce faire, sans foreach vous auriez à supposer qu'il n'y a pas d'autres attributs sont appliqués au type, et indexer le premier attribut directement.
var attribs = (MyAttributeAttribute[]) typeof(MyClass).GetCustomAttributes(
typeof(MyAttributeAttribute),
true);
Console.WriteLine(attribs[0].CustomAttribute); // prints 'Value'
« ne peut pas comprendre ce que vous entendez par « sans utiliser foreach » » -> je trouve quelques mauvais exemples qui utilisent foreach pour lire tous les attributs apprécient – Dusan
Oui, mais les mauvais exemples ne sont que des exemples - - vous devriez prendre les connaissances qu'ils donnent et les utiliser comme bon vous semble. – Jamiec