J'essaye de construire une structure en C# pour passer au C++ non managé, je me demandais quel est le type correct de variable à utiliser pour un tableau unichar
dans ma structure et ce qu'il devrait être rassemblé comme.Comment utiliser unichar array en C# struct avec DLLImport de non managé C
Je l'ai déjà compris cela pour un unsigned char array
C/C++
typedef struct _foo {
void *fileId;
unsigned char fileName[15];
} foo;
C#
[StructLayout(LayoutKind.Sequential)]
public struct foo
{
public IntPtr fileId;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 15)]
public string fileName;
}
Donc, si je donne les résultats suivants en C++
typedef struct _foo {
void *fileId;
unichar fileName[15]; // UTF-16LE
} foo;
Quelle serait la structure correcte à utiliser en C#?