Class JsonConverterFactory
- Namespace
- Codebelt.Extensions.Newtonsoft.Json
- Assembly
- Codebelt.Extensions.Newtonsoft.Json.dll
Provides a factory based way to create and wrap an Newtonsoft.Json.JsonConverter implementation.
public static class JsonConverterFactory
- Inheritance
-
JsonConverterFactory
Methods
Create(JsonConverter)
Creates a dynamic instance of converter.
public static JsonConverter Create(JsonConverter converter)
Parameters
converterJsonConverterThe Newtonsoft.Json.JsonConverter to wrap.
Returns
- JsonConverter
An Newtonsoft.Json.JsonConverter implementation of Type.
Create(Func<Type, bool>, Action<JsonWriter, object, JsonSerializer>, Func<JsonReader, Type, object, JsonSerializer, object>)
Creates a dynamic instance of an Newtonsoft.Json.JsonConverter implementation wrapping CanConvert(Type) through predicate, Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter, object, Newtonsoft.Json.JsonSerializer) through writer and ReadJson(JsonReader, Type, object, JsonSerializer) through reader.
public static JsonConverter Create(Func<Type, bool> predicate, Action<JsonWriter, object, JsonSerializer> writer = null, Func<JsonReader, Type, object, JsonSerializer, object> reader = null)
Parameters
predicateFunc<Type, bool>The function delegate that validates if given Type can be converted to and from JSON.
writerAction<JsonWriter, object, JsonSerializer>The delegate that converts a given Type to its JSON representation.
readerFunc<JsonReader, Type, object, JsonSerializer, object>The function delegate that generates Type from its JSON representation.
Returns
- JsonConverter
An Newtonsoft.Json.JsonConverter implementation of Type.
Create(Type, Action<JsonWriter, object, JsonSerializer>, Func<JsonReader, Type, object, JsonSerializer, object>)
Creates a dynamic instance of an Newtonsoft.Json.JsonConverter implementation wrapping Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter, object, Newtonsoft.Json.JsonSerializer) through writer and ReadJson(JsonReader, Type, object, JsonSerializer) through reader.
public static JsonConverter Create(Type objectType, Action<JsonWriter, object, JsonSerializer> writer = null, Func<JsonReader, Type, object, JsonSerializer, object> reader = null)
Parameters
objectTypeTypeThe type of the object to convert.
writerAction<JsonWriter, object, JsonSerializer>The delegate that converts
objectTypeto its JSON representation.readerFunc<JsonReader, Type, object, JsonSerializer, object>The function delegate that generates
objectTypefrom its JSON representation.
Returns
- JsonConverter
An Newtonsoft.Json.JsonConverter implementation of
objectType.
Create<T>(Action<JsonWriter, T, JsonSerializer>, Func<JsonReader, Type, T, JsonSerializer, T>)
Creates a dynamic instance of an Newtonsoft.Json.JsonConverter implementation wrapping Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter, object, Newtonsoft.Json.JsonSerializer) through writer and ReadJson(JsonReader, Type, object, JsonSerializer) through reader.
public static JsonConverter Create<T>(Action<JsonWriter, T, JsonSerializer> writer = null, Func<JsonReader, Type, T, JsonSerializer, T> reader = null)
Parameters
writerAction<JsonWriter, T, JsonSerializer>The delegate that converts
Tto its JSON representation.readerFunc<JsonReader, Type, T, JsonSerializer, T>The function delegate that generates
Tfrom its JSON representation.
Returns
- JsonConverter
An Newtonsoft.Json.JsonConverter implementation of
T.
Type Parameters
TThe type to implement an Newtonsoft.Json.JsonConverter.
Create<T>(Func<Type, bool>, Action<JsonWriter, T, JsonSerializer>, Func<JsonReader, Type, T, JsonSerializer, T>)
Creates a dynamic instance of an Newtonsoft.Json.JsonConverter implementation wrapping Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter, object, Newtonsoft.Json.JsonSerializer) through writer and ReadJson(JsonReader, Type, object, JsonSerializer) through reader.
public static JsonConverter Create<T>(Func<Type, bool> predicate, Action<JsonWriter, T, JsonSerializer> writer = null, Func<JsonReader, Type, T, JsonSerializer, T> reader = null)
Parameters
predicateFunc<Type, bool>The function delegate that validates if given Type can be converted to and from JSON.
writerAction<JsonWriter, T, JsonSerializer>The delegate that, when
predicatereturns true, convertsTto its JSON representation.readerFunc<JsonReader, Type, T, JsonSerializer, T>The function delegate that, when
predicatereturns true, generatesTfrom its JSON representation.
Returns
- JsonConverter
An Newtonsoft.Json.JsonConverter implementation of
T.
Type Parameters
TThe type to implement an Newtonsoft.Json.JsonConverter.