[Serializable]
public class A
{
[MarshalAs(UnmanagedType.I1)]
public bool state = false;
public uint value = 1;
}
[Serializable]
public class B
{
public uint mode = 0;
[MarshalAs(UnmanagedType.I1)]
public bool view = false;
public A a = new A();
}
метод
B b = new B();
int size = Marshal.SizeOf(b);
вываливает с исключением
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Здравствуйте, k732, Вы писали:
TK>>А причем тут Serializable? Надо воспользоваться атрибутом StructLayout K>а что именно нужно сделать, чтоб маршалился класс ?
[StructLayout(LayoutKind.Sequential)]
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, k732, Вы писали:
TK>>>А причем тут Serializable? Надо воспользоваться атрибутом StructLayout K>>а что именно нужно сделать, чтоб маршалился класс ?
TK>[StructLayout(LayoutKind.Sequential)]
не помогло — тоже исключеие
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, k732, Вы писали:
TK>>>А причем тут Serializable? Надо воспользоваться атрибутом StructLayout K>>а что именно нужно сделать, чтоб маршалился класс ?
TK>[StructLayout(LayoutKind.Sequential)]
нашел в чем проблемма. Это все из-за класса А. т.к. он создан через new. Когда я его закоментировал — то все нормально.
Странно — ведь он тоже [StructLayout(LayoutKind.Sequential)]. Почему так ?