Skip to content

Instantly share code, notes, and snippets.

@fontanka16
Created July 2, 2015 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fontanka16/99b38f99e1ef17217c8e to your computer and use it in GitHub Desktop.
Save fontanka16/99b38f99e1ef17217c8e to your computer and use it in GitHub Desktop.
JsonConverter för en Type safe Enum
using System;
using Newtonsoft.Json;
namespace Viola.CallSlipFetching
{
public class CallSlipDeliveryTypeConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var deliveryType = value as CallSlipDeliveryTypes;
writer.WriteValue(deliveryType != null ? deliveryType.ToString() : string.Empty);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (typeof (CallSlipDeliveryTypes).IsAssignableFrom(objectType))
return (CallSlipDeliveryTypes) (reader.Value as string);
else return null;
}
public override bool CanConvert(Type objectType)
{
return typeof(CallSlipDeliveryTypes).IsAssignableFrom(objectType);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment