Bonjour,

Comm expliqué dans un post précédent, je suis entrain de faire un wrapper d'une lib C en C#.

Je me pose une question concernant la conversion des "typedef" C.

Exemple :

Structure C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
typedef struct
{
 EntType    type;
 Pnt        end1;
 Pnt        end2;
} Linedef, Clinedef;
EntType est un enum, pas de pb de conversion avec lui.

Mais Pnt est def comme ceci :
La question étant, puis-je créer un type équivalent en C#, ou puis-je simplement utiliser "double" ?

En C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        [StructLayout(LayoutKind.Sequential)]
        public class Linedef
        {
            public EntType type;
            public double[] end1; // ???
            public double[] end2;
        } // Linedef, Clinedef;
        public class CLinedef : Linedef {};
Voir, avec initialisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        [StructLayout(LayoutKind.Sequential)]
        public class Linedef
        {
            public EntType type;
            public double[] end1 = new double[2]; // ???
            public double[] end2 = new double[2];
        } // Linedef, Clinedef;
        public class CLinedef : Linedef {};

Quelle est la meilleurs méthode ?


Merci !