Skip to main content

Class ValueObjectConverter

Namespace: AdCodicem.ValueObjects.NewtonsoftJson
Assembly: AdCodicem.ValueObjects.NewtonsoftJson.dll

Reads and writes any value object as its bare underlying value.

public sealed class ValueObjectConverter : JsonConverter

Inheritance

object ← JsonConverter ← ValueObjectConverter

Inherited Members

JsonConverter.WriteJson(JsonWriter, object?, JsonSerializer), JsonConverter.ReadJson(JsonReader, Type, object?, JsonSerializer), JsonConverter.CanConvert(Type), JsonConverter.CanRead, JsonConverter.CanWrite, object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

Remarks

One converter covers every value object, because the work is delegated to the runtime descriptor rather than to a type-specific implementation. Newtonsoft.Json resolves converters by reflection anyway, so there is nothing to gain from a generic converter per type here.

Methods

CanConvert(Type)

Determines whether this instance can convert the specified object type.

public override bool CanConvert(Type objectType)

Parameters

objectType Type

Type of the object.

Returns

bool

true if this instance can convert the specified object type; otherwise, false.

ReadJson(JsonReader, Type, object?, JsonSerializer)

Reads the JSON representation of the object.

public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)

Parameters

reader JsonReader

The to read from.

objectType Type

Type of the object.

existingValue object?

The existing value of object being read.

serializer JsonSerializer

The calling serializer.

Returns

object?

The object value.

WriteJson(JsonWriter, object?, JsonSerializer)

Writes the JSON representation of the object.

public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)

Parameters

writer JsonWriter

The to write to.

value object?

The value.

serializer JsonSerializer

The calling serializer.