public class FeatureFlagsConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if (value == null)
{
writer.WriteNull();
return;
}
var val = (FeatureFlags)value;
writer.WriteStartObject();
writer.WritePropertyName(nameof(val.DocumentID));
writer.WriteValue(val.DocumentID);
foreach (var kvp in val)
{
writer.WritePropertyName(kvp.Key);
writer.WriteValue(kvp.Value);
}
writer.WriteEndObject();
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
// TODO
return null;
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(FeatureFlags);
}
}