For a Type, there is a property IsClass in C#, but how to decide a Type is a struct?
Type
IsClass
Although IsValueType is a ne
IsValueType
Should be at least
bool isStruct = type.IsValueType && !type.IsEnum && !type.IsPrimitive && type != typeof(decimal);