Неправильно выровнено или перекрыто ошибкой необъектного поля

Я пытаюсь создать следующую структуру:

    [StructLayout(LayoutKind.Explicit, Size=14)]
    public struct Message
    {
        [FieldOffset(0)]
        public ushort X;
        [FieldOffset(2)]
        [MarshalAs(UnmanagedType.ByValArray, SizeConst=5)]
        private ushort[] Y;
        [FieldOffset(12)]
        public ushort Z;
    }

и я получаю следующую ошибку:

Не удалось загрузить тип «Сообщение» из сборки, поскольку оно содержит поле объекта со смещением 4, которое неправильно выровнено или перекрыто полем без объекта.

Кто-нибудь знает, почему это вызывает ошибку?

Примечание: я не могу использовать Pack, потому что я работаю с компактной структурой. Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос