public DictionaryQueryModelDetails(Type dictionaryType) { var args = dictionaryType.GetTypeInfo().GenericTypeArguments; KeyType = args[0]; ValueType = args[1]; OriginalKeyType = KeyType; OriginalValueType = ValueType; Type nullableArgument; if (KeyType.GetTypeInfo().IsNullable(out nullableArgument)) { KeyType = nullableArgument; IsKeyTypeNullable = true; } if (ValueType.GetTypeInfo().IsNullable(out nullableArgument)) { ValueType = nullableArgument; IsValueTypeNullable = true; } }