Описание тега layoutkind.explicit
2
ответа
.NET поведение LayoutKind.explicit для поля, которое само является структурой
Вопрос Я пытался построить структуру (SA) с помощью [StructLayout(LayoutKind.Explicit)], который имел поле, которое является другим struct (SB). Во-первых: я был удивлен, что мне разрешили объявить эту другую структуру без [StructLayout(LayoutKind.E…
13 мар '13 в 17:15
1
ответ
LayoutKind.Sequential не используется, если в substruct есть LayoutKind.Explicit
При запуске этого кода: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace StructLayoutTest { class Program { unsafe static void Main() { Console.WriteLine(IntPtr.Siz…
02 май '13 в 08:28
2
ответа
Как преобразовать фиксированный байт / символ [100] в управляемый символ [] в C#?
Каков наилучший способ преобразования фиксированного байта или символа [100] в управляемый символ [] в C#? Мне пришлось использовать арифметику с указателями, и мне интересно, есть ли более простой способ - что-то вроде memcpy или другого способа? u…
26 июл '09 в 18:55
1
ответ
Почему моно на процессорах Atmel не работает с LayoutKind.Explicit?
Я создал структуру, как показано ниже: [StructLayout(LayoutKind.Explicit, Pack = 1)] public class NodRecord { [FieldOffset(0)] public ushort Driver; [FieldOffset(2)] public ushort BaudRate; [FieldOffset(4)] public ushort EnquiryInterval; [FieldOffse…
30 дек '12 в 11:15
3
ответа
Marshalling LayoutKind. Явная структура с перекрывающимися ошибками в сборке выпуска
У меня есть структура, в которой неперекрывающееся поле указано как перекрытое. [FieldOffset(8)] Int32 X; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)] [FieldOffset(12)] string Y; [FieldOffset(28)] int Z; Сообщенная ошибка: Не удалось загрузи…
05 май '12 в 10:57
2
ответа
Объединение в C# с неправильно выровненной строкой
У меняошибка" Неправильно выровнено или перекрыто необъектным полем " со следующим кодом. public struct TypeA { public string A1; public string A2; } public struct TypeB { public string B1, public string B2; } Я реализовал объединение, используя Sys…
10 фев '14 в 23:05
3
ответа
Boolean Marshalling с LayoutKind.Explicit, это сломано или терпит неудачу, как задумано?
Прежде всего, говорят, что булев тип имеет маршальный тип по умолчанию с четырехбайтовым значением. Так работает следующий код: struct A { public bool bValue1; public int iValue2; } struct B { public int iValue1; public bool bValue2; } public static…
09 ноя '09 в 20:56
1
ответ
Законно ли использовать LayoutKind.Explicit, чтобы обойти использование "небезопасных" указателей?
У меня есть код, который выполняет XOR для блоков данных с использованием указателей, что быстро, но я хотел бы избавиться от "небезопасного" требования к сборке. Если я изменю его на использование LayoutKind.Explicit и наложу "ulong[]" поверх "byte…
06 июн '13 в 16:17
2
ответа
Исключить дополнительное частное поле в структуре с помощью LayoutKind.Explicit из части макета структуры
Допустим, у нас есть одна структура: [StructLayout(LayoutKind.Explicit, Size=8)] // using System.Runtime.InteropServices; public struct AirportHeader { [FieldOffset(0)] [MarshalAs(UnmanagedType.I4)] public int Ident; // a 4 bytes ASCII : "FIMP" { 0x…
05 июл '21 в 20:38