¿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?