Я использую структуру для перехода к неуправляемой 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 в каждом измерении.
Как я могу это сделать?