For a Type, there is a property IsClass in C#, but how to decide a Type is a struct?
Although IsValueType is a necessary condition, it is obviously not enough. For an Integer is a value type also.
Someone suggests the following code:
bool IsStruct=type.IsValueType && !type.IsEnum && !type.IsPrimitive;
But I am not sure whether it is an accurate method. The formula should tell the difference between struct and other types, such as DateTime,Integer and arrays.
As some friends have pointed out that here I mean user defined struct instead of predefined types, such as DateTime.