Bonsoir,
J'ai besoin d'un coup de main avec la reflection. Voila j'ai crée une class d'attribut que voila:
J'ai une dll que j'ai marqué comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 [AttributeUsage(AttributeTargets.Class)] public class BlueCurveAddinAttributes : Attribute { /// <summary> /// Nom de l'Addin /// </summary> public string Name { get; private set; } /// <summary> /// Versiond de l'Addin /// </summary> public string Version { get; private set; } /// <summary> /// Publicateur de l'Addin /// </summary> public string Publisher { get; private set; } /// <summary> /// Description de l'Addin /// </summary> public string Description { get; private set; } public BlueCurveAddinAttributes(string _name, string _version, string _publisher, string _description) { this.Name = _name; this.Version = _version; this.Publisher = _publisher; this.Description = _description; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [Export(typeof(IProtocol))] [BlueCurveAddinAttributes("Addins.Http", "1.0.0.0", "BlueCurve Project Team", "This addin can do HTTP request")] public class AddinsHttp : IProtocol {
J'ai écrit un petit code de teste afin de récuperer via reflection les propritétés que j'ai ajouté en faisant:
Mon problème c'est que j'obtiens une exception systematique comme quoi que MyAttribute est null pourtant j'ai suivie l'exemple de la MSDN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Assembly asm = Assembly.LoadFrom(Path.GetFullPath("Addins.Http.dll")); BlueCurveAddinAttributes MyAttribute = (BlueCurveAddinAttributes)Attribute.GetCustomAttribute(asm, typeof(BlueCurveAddinAttributes)); Console.WriteLine(">>> " + MyAttribute.GetType());
Merci.
Partager