For a Type, there is a property IsClass, but how to know a Type is a Struct?
Sorry, I have to add some more information.
- I am using C#.
- Although IsValueType is a necessary condition, it is obviously not enough. For an Integer is a value type also.
For a Type, there is a property IsClass, but how to know a Type is a Struct?
Sorry, I have to add some more information.
If it's a value type (e.g., a struct
), use Type.IsValueType
.
If you are talking about c#, you can use the IsValueType
property.
Hi,
use this:
x.GetType().IsValueType();
From help:
Type::IsValueType Property Gets a value indicating whether the Type is a value type. Value types are types that are represented as sequences of bits; value types are not classes or interfaces. Value types are referred to as "structs" in some programming languages. Enums are a special case of value types.
Well then, I guess for your requirement then this comes close:
bool isStruct = myType.IsValueType && !myType.IsPrimitive;
but still DateTime
isn't covered by that for example. Maybe you would have to add further types you want to exlude manually.