Я использую структуру для передачи в неуправляемую DLL, как так -
[StructLayout(LayoutKind.Sequential)]
public struct valTable
{
public byte type;
public byte map;
public byte spare1;
public byte spare2;
public int par;
public int min;
public byte[] name;
public valTable()
{
name = new byte[24];
}
}
Приведенный выше код не будет компилироваться, потому что VS 2005 будет жаловаться, что "Structs не может содержать явных конструкторов без параметров". Чтобы передать эту структуру в мою DLL, я должен передать массив структур, например, valTable[] val = new valTable[281];
Что я хотел бы сделать, так это когда я говорю new
, вызывается конструктор и он создает массив байтов, который я пытаюсь продемонстрировать, потому что DLL ищет этот байтовый массив размером 24 в каждом измерении.
Как мне это сделать?