Show / Hide Table of Contents

    Class JsonInheritanceConverter

    Inheritance
    System.Object
    Newtonsoft.Json.JsonConverter
    JsonInheritanceConverter
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Elements.Serialization.JSON
    Assembly: Hypar.Elements.dll
    Syntax
    public class JsonInheritanceConverter : JsonConverter

    Constructors

    JsonInheritanceConverter()

    Declaration
    public JsonInheritanceConverter()

    JsonInheritanceConverter(String)

    Declaration
    public JsonInheritanceConverter(string discriminator)
    Parameters
    Type Name Description
    System.String discriminator

    Properties

    CanRead

    Declaration
    public override bool CanRead { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    Newtonsoft.Json.JsonConverter.CanRead

    CanWrite

    Declaration
    public override bool CanWrite { get; }
    Property Value
    Type Description
    System.Boolean
    Overrides
    Newtonsoft.Json.JsonConverter.CanWrite

    Elements

    Declaration
    public static Dictionary<Guid, Element> Elements { get; }
    Property Value
    Type Description
    System.Collections.Generic.Dictionary<System.Guid, Element>

    ElementwiseSerialization

    Declaration
    public static bool ElementwiseSerialization { get; set; }
    Property Value
    Type Description
    System.Boolean

    Methods

    CanConvert(Type)

    Declaration
    public override bool CanConvert(Type objectType)
    Parameters
    Type Name Description
    System.Type objectType
    Returns
    Type Description
    System.Boolean
    Overrides
    Newtonsoft.Json.JsonConverter.CanConvert(System.Type)

    ExcludeTypePrefixesFromTypeCache(String[])

    When we build up the element type cache, we iterate over all types in the app domain. Excluding other types can speed up the process and reduce deserialization issues.

    Declaration
    public static void ExcludeTypePrefixesFromTypeCache(params string[] prefixes)
    Parameters
    Type Name Description
    System.String[] prefixes

    ReadJson(JsonReader, Type, Object, JsonSerializer)

    Declaration
    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    Parameters
    Type Name Description
    Newtonsoft.Json.JsonReader reader
    System.Type objectType
    System.Object existingValue
    Newtonsoft.Json.JsonSerializer serializer
    Returns
    Type Description
    System.Object
    Overrides
    Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader, System.Type, System.Object, Newtonsoft.Json.JsonSerializer)

    WriteJson(JsonWriter, Object, JsonSerializer)

    Declaration
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    Parameters
    Type Name Description
    Newtonsoft.Json.JsonWriter writer
    System.Object value
    Newtonsoft.Json.JsonSerializer serializer
    Overrides
    Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter, System.Object, Newtonsoft.Json.JsonSerializer)