[C# & C++/CLI] Recuperation d'Attributes C++/CLI dans une Assembly en C#
Bonjour
Bon je savais pas trop ou poster ça vu que mon code utilise deux langages ...
Donc voila j'ai un petit soucis j'espère que vous serrez en mesure de m'éclairer un peu :)
Donc j'ai des .h en C++/CLI qui contiennent des interfaces qui sont en suite utilisée plus loin par des .cpp ... Tout ces points h sont assemblés a la compilation dans une dll.
Mon but est de générer certainnes parties du code des classes interfacées ua l'aide de code en C# dans T4 Editor. J'ai donc essayé de creer un attribute en C++/CLI que je placerais sur les classes que je veux générer uniquement.
La classe Attribute :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public ref class InterfaceGeneratedAttribute: public Attribute
{
protected:
String^ name;
public:
InterfaceGeneratedAttribute(String^ str)
{
name = str;
}
property String^ title
{
void set(String^ value)
{
name = value;
}
String^ get()
{
return name;
}
}
}; |
Je place en suite mes attributs sur les classes qui doivent êtres générées de cette façon :
Code:
1 2 3 4 5 6
|
[InterfaceGenerated("Light")]
public interface class ILight : IDestroyable
{
...
} |
Je génère ma dll pas de warnings.
Mais quand je veux charger la dll dans le C# impossible de récupérer des attributs avec ce code :
Code:
1 2 3
|
Assembly asm = Assembly.ReflectionOnlyLoadFrom(@"C:\....dll");
IList<CustomAttributeData> attributes = CustomAttributeData.GetCustomAttributes(asm); |
Malheureusement "attribute" reste vide.
Avez vous une idée ?
La doc dispo sur internet etant très light mise a part la msdn et elle ne couvre presque jamais le chargement depuis une dll.