¿Por qué la estructura System.DateTime tiene un diseño tipo Auto?

La estructuraSystem.DateTime y su primoSystem.DateTimeOffset tienen sus tipos de diseño de estructura establecidos en "Auto". Esto se puede ver con:

typeof(DateTime).IsAutoLayout    /* true */

o:

typeof(DateTime).StructLayoutAttribute.Value    /* Auto */

o se puede ver desde el IL que declara:

.class public auto ansi serializable sealed beforefieldinit System.DateTime
              ¯¯¯¯

Normalmente, una estructura (que es un tipo de valor .NET que no es una enumeración) escrita con C # tendrá un diseño "secuencial" (a menos que unStructLayoutAttribute se ha aplicado para especificar otro diseño).

Busqué a través de algunos comunesBCL asambleas, yDateTime yDateTimeOffset fueron las únicas estructuras visibles públicamente que encontré con este diseño.

Alguien sabe por quéDateTime tiene este diseño de estructura inusual?

Respuestas a la pregunta(1)

Su respuesta a la pregunta