Class StringEnumConverter
- Assembly
- Cuemon.Extensions.Text.Json.dll
Converter to convert enums to and from strings.
public class StringEnumConverter : JsonConverterFactory
- Inheritance
-
StringEnumConverter
- Inherited Members
- Extension Methods
Constructors
StringEnumConverter()
Initializes a new instance of the StringEnumConverter class.
public StringEnumConverter()
Methods
CanConvert(Type)
Determines whether the type can be converted.
public override bool CanConvert(Type typeToConvert)
Parameters
typeToConvert
TypeThe type is checked whether it can be converted.
Returns
- Boolean
true
if the type can be converted,false
otherwise.
CreateConverter(Type, JsonSerializerOptions)
Creates a converter for a specified typeToConvert
.
public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)
Parameters
typeToConvert
TypeThe Type being converted.
options
JsonSerializerOptionsThe JsonSerializerOptions being used.
Returns
- JsonConverter
An instance of a JsonConverter<T> where T is compatible with
typeToConvert
. If null is returned, a NotSupportedException will be thrown.
Remarks
This is an insane reflection implementation due to, IMO, odd design choice by Microsoft (why have separate namingPolicy when PropertyNamingPolicy is already part of options). Personally I like the NamingStrategy found in Newtonsoft.Json better.