Assembly: custom attributes

Signaler
Messages postés
5
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
7 février 2005
-
Messages postés
5
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
7 février 2005
-
Bonjour,


j'utilise des custom attributes du genre:


[assembly:AssemblyTitle("First plugin")]


[assembly:AssemblyCompany("MySelf")]


[assembly:AssemblyProduct("My first plugin")]





J'arrive ensuite à récupérer les types correspondants depuis une autre application:


Object[] myAttributes = asm.GetCustomAttributes(false); //asm est un Assembly


for(int i = 0; i < myAttributes.Length; i++)


{


Console.WriteLine("attribute {0}", myAttributes[i]);


}




=>


attribute System.Reflection.AssemblyProductAttribute


attribute System.Reflection.AssemblyCompanyAttribute


attribute System.Reflection.AssemblyTitleAttribute





Mais je n'ai pas trouvé comment trouvé la valeur correspondante (MySelf, ...) !





Merci

2 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
19
[assembly:AssemblyProduct("My first plugin")] => la valeur est dans .Product

[assembly:AssemblyCompany("MySelf")] => dans .Company
[assembly:AssemblyTitle("First plugin")] => dans .Title

ex : myAttributes[2].Product

Le GetCustomAttributes de renvoit des objets pas des valeurs

::|The S@ib|::
MVP C#.NET
Messages postés
5
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
7 février 2005

Meri beaucoup, une nouvelle fois.



Mais comment puis je récupérer les valeurs si je ne connais pas à l'avance le type.



Pr exemple, pour myAttributes[2], je trouve que c'est du type


attribute System.Reflection.AssemblyProductAttribute, comment puis-je trouver la valeur, sans faire un
myAttributes[2].Product (vu que je ne dais pas à l'avance qu'il contient la propriété Product)?