Retrieving a typedef for resettable types allows code breaks for non-nullable types
This is the next question to the next one if you want: Parsing for Nullable Enum
Type t = currentProperty.PropertyType;
if (t.GetGenericTypeDefinition() == typeof(Nullable<>))
t = t.GetGenericArguments().First();
I am getting an error on line # 2 which is an IF statement.
System.Reflection.TargetInvocationException : Exception has been thrown by the
target of an invocation. ----> System.InvalidOperationException : This operation
is only valid on generic types.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
How can I check this condition before executing the code in the IF statement?
+3
source to share
1 answer
Below is the MSDN documentation on type checking with null
It looks like you need to add the following:
if(t.IsGenericType && ...
+6
source to share