Obtener el tamaño de la estructura en C #

Posible duplicado:
¿Cómo verificar el número de bytes consumidos por mi Estructura?

Tengo una estructura en la forma empaquetada

[StructLayout(LayoutKind.Sequential, Pack = 1)] public struct test { public int a; public uint16 b; } 

¿Cómo obtengo el tamaño de la estructura cuando el comstackdor declara que sizeof solo se puede usar en un contexto inseguro?

Gracias.

El método SizeOf hace el truco.

 int size = System.Runtime.InteropServices.Marshal.SizeOf(typeof(Point)); 

¿Pone el operador sizeof en un contexto inseguro como sugiere el comstackdor?

Algo así, supongo:

 int size; unsafe { size=sizeof(Test); } 

Pero no estoy seguro de si realmente quieres hacer eso. Tendría que usar un serializador normal en lugar de estructuras con un diseño específico para esto. En mi opinión, debe usar dichas estructuras solo para interoperabilidad nativa y no para serialización simple.

Y al mirar la documentación de la función SizeOf , el ordenamiento también puede SizeOf el tamaño (aunque no en este ejemplo).