Marshal.SizeOf throws ArgumentException on enums

This appears to be a limitation imposed by a difference between the requirements of ECMA-335 for enums (ECMA-335 Partition II §14.3):

…they shall have auto field layout (§10.1.2); …

And the expectations of Marshal.SizeOf:

You can use this method when you do not have a structure. The layout must be sequential or explicit.

Based on this, you will need to use Enum.GetUnderlyingType before calling Marshal.SizeOf.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)