40 for (
int i = 0; i <
names.Length; i++)
55 switch (reader.TokenType)
244 if (!
value.Contains(
", "))
249 for (
int i = 0; i <
array.Length; i++)
253 return string.Join(
", ",
array);
258 string @
string = reader.GetString();
270 if (
options.DictionaryKeyPolicy !=
null)
286 if (
options.DictionaryKeyPolicy !=
null)
static string[] GetNames(Type enumType)
static Array GetValues(Type enumType)
static bool TryParse(Type enumType, string? value, out object? result)
string ConvertName(string name)
override bool CanConvert(Type type)
static ulong ConvertToUInt64(object value)
JsonEncodedText FormatEnumValue(string value, JavaScriptEncoder encoder)
EnumConverter(EnumConverterOptions converterOptions, JsonSerializerOptions serializerOptions)
override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
override T ReadAsPropertyNameCore(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
readonly ConcurrentDictionary< ulong, JsonEncodedText > _nameCache
readonly JsonNamingPolicy _namingPolicy
static bool IsValidIdentifier(string value)
override void WriteAsPropertyNameCore(Utf8JsonWriter writer, T value, JsonSerializerOptions options, bool isWritingExtensionDataProperty)
readonly EnumConverterOptions _converterOptions
static readonly string s_negativeSign
ConcurrentDictionary< ulong, JsonEncodedText > _dictionaryKeyPolicyCache
static readonly TypeCode s_enumTypeCode
EnumConverter(EnumConverterOptions converterOptions, JsonNamingPolicy namingPolicy, JsonSerializerOptions serializerOptions)
string FormatEnumValueToString(string value, JavaScriptEncoder encoder)
static void ThrowInvalidOperationException_NamingPolicyReturnNull(JsonNamingPolicy namingPolicy)
static void ThrowJsonException(string message=null)
static TypeCode GetTypeCode(Type? type)
static JsonEncodedText Encode(string value, JavaScriptEncoder? encoder=null)
override string ToString()