Obtener el tamaño de un campo en bytes con C #

Tengo una clase y quiero inspeccionar sus campos e informar eventualmente cuántos bytes toma cada campo. Asumo que todos los campos son de tipo Int32, byte, etc.

¿Cómo puedo saber fácilmente cuántos bytes toma el campo?

Necesito algo como:

Int32 a;
// int a_size = a.GetSizeInBytes;
// a_size should be 4

Respuestas a la pregunta(7)

Su respuesta a la pregunta