private static SupportType GetSupportType(Type type) { if (SupportedTypes.ContainsKey(type)) { return(SupportType.Basic); } if (type.GetTypeInfo().IsEnum) { return(SupportType.Enum); } if (IsSupportedCollection(type)) { return(SupportType.Collection); } if (IsNullableType(type)) { return(SupportType.Nullable); } if (type.GetTypeInfo().IsClass) { return(SupportType.UserDefined); } return(SupportType.NotSupported); }