Is the order of fields in the ILDASM tree view correct or is the order in the MetaInfo correct? -
in trying determine precise order of fields in .net value type, looked both @ ildasm tree view , @ ildasm "metainfo" (i.e., actual il). order of fields in 2 views of data inverse.
for example, tree view of system.runtime.interopservices.filetime lists dwhighdatetime before dwlowdatetime. (i post image, lack enough reputation points here so).
on other hand, here corresponding il, using view>>metainfo>>show! in ildasm:
typedef #1655 (02000678)
typdefname: system.runtime.interopservices.filetime (02000678) flags : [public] [sequentiallayout] [class] [sealed] [ansiclass] [beforefieldinit] (00100109) extends : 02000009 [typedef] system.valuetype field #1 (04001e2e) ------------------------------------------------------- field name: dwlowdatetime (04001e2e) flags : [public] (00000006) callcnvntn: [field] field type: i4 field #2 (04001e2f) ------------------------------------------------------- field name: dwhighdatetime (04001e2f) flags : [public] (00000006) callcnvntn: [field] field type: i4 ...
which correct order? assume il correct, confirmation. know reason disparity?
looks win32 filetime struct little-endian (low part first). .net version being interop struct, , made interacting native code, pretty have compatible native one.
as reason behind "disparity", note "dwhighdatetime" comes before "dwlowdatetime" in alphabetical order.
Comments
Post a Comment