Por que a estrutura System.DateTime possui o tipo de layout Auto?
A estruturaSystem.DateTime
e seu primoSystem.DateTimeOffset
tenha seus tipos de layout de estrutura definidos como "Automático". Isso pode ser visto com:
typeof(DateTime).IsAutoLayout /* true */
ou:
typeof(DateTime).StructLayoutAttribute.Value /* Auto */
ou pode ser visto na IL que declara:
.class public auto ansi serializable sealed beforefieldinit System.DateTime
¯¯¯¯
Normalmente, uma estrutura (que é um tipo de valor .NET que não é uma enumeração) escrita com C # terá o layout "Sequencial" (a menos que umStructLayoutAttribute
foi aplicado para especificar outro layout).
Eu procurei através de alguns comunsBCL montagens eDateTime
eDateTimeOffset
foram as únicas estruturas publicamente visíveis que encontrei com esse layout.
Alguem sabe por quêDateTime
tem esse layout de estrutura incomum?