Bonjour,
j'ai défini une structure qui contient un pointeur de fonction (=delegate) et j'ai besoin de connaitre la taille de cette structure. Or lorsque je fais appel à Marshal.SizeOf(MyStructure), cela provoque une levée d'exception de type "NotSupportedException".
En cherchant un peu, je me suis aperçu que cette exception venait de la présence d'un delegate au sein de ma structure, car si je le supprime, l'appel à Marshal.SizeOf(MyStructure) fonctionne trés bien.
j'ai donc tenter d'isoler le probleme en ne m'occupant que du délégate, mais sans résultat. voici ce que j'ai fais :
J'ai regardé la documentation de cette fonction dans la MSDN, et cette exception ne fais pas parti des exceptions potentiellement levées par cette méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // déclaration d'un pointeur de fonction public delegate void MyDelegate(); // Déclaration d'une variable de type MyDelegate // pointant sur une fonction sans implementation particulière MyDelegate myDel = delegate() {return;}; // Test de la taille de l'objet myDel Int32 size = Marshal.SizeOf(myDel); --> cela provoque toujours une levée d exception de type System.NotSupportedException.
Je travail avec le CF3.5, cela peut-il venir de là ?
Partager