J'ai ce code :
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Comment obtenir la valeur de CustomAttribute pour l'instance a ?
J'ai ce code :
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
Comment obtenir la valeur de CustomAttribute pour l'instance a ?
Il y a un bon échantillon ici :
http://msdn.microsoft.com/en-us/library/z919e8tw.aspx
Pour effectuer cette opération sans foreach, vous devez supposer qu'aucun autre attribut n'est appliqué au type et indexer directement le premier attribut.
Du genre :
MyAttribute [] myAttributes
= (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true);
Je ne comprends pas ce que vous voulez dire par "sans utiliser foreach", sauf que GetCustomAttributes renvoie toujours un tableau d'attributs (pour tenir compte de la présence de plusieurs attributs). Si vous savez qu'il ne peut y en avoir qu'un seul, alors utilisez simplement le premier.
MyAttribute theAttrib = myAttributes[0];
Console.WriteLine(theAttrib.CustomAttribute);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.