public static bool IsSupported(Type type) { var t = Nullable.GetUnderlyingType(type) ?? type; return(t.IsEnum || Type.GetTypeCode(t) != TypeCode.Object || Registered.ContainsKey(t)); }