Ошибка компиляции StructureLayout System.TypeLoadException - PullRequest
0 голосов
/ 15 февраля 2020

Привет, я недавно изменил свой StructureLayout в своем коде с помощью Layout, который я использовал в другом коде, но я никогда не понимаю его, потому что я получил помощь здесь, и я просто скопировал и вставил его в свой код, но теперь я получил ошибку при компиляции

System.TypeLoadException: «Не удалось загрузить тип« Данные »из сборки» Рекордер, Версия = 1.0.0.0, Культура = нейтральный, PublicKeyToken = null ', поскольку он содержит поле объекта со смещением 4, которое неправильно выровнен или перекрыт необъектным полем. '

вот мой макет структуры

[StructLayout(LayoutKind.Explicit)]
public struct Data{
    [FieldOffset(0)]
    public string Title;
    [FieldOffset(0)]
    public ChannelData Channel;
    [FieldOffset(0)]
    public DateData Date;
    [FieldOffset(0)]
    public TimeData Begin;
    [FieldOffset(0)]
    public TimeData End;
}
[StructLayout(LayoutKind.Sequential)]
    public struct ChannelData{
    public string Title;
    public int Number;
}
[StructLayout(LayoutKind.Sequential)]
    public struct DateData{
    public int Day;
    public int Month;
    public int Year;
}
[StructLayout(LayoutKind.Sequential)]
    public struct TimeData{
    public byte Hour;
    public byte Minute;
}
...