C# Client Library
A C# Client Library for the AnalyzeRe REST API
Loading...
Searching...
No Matches
PerspectiveConverter.cs
Go to the documentation of this file.
1using System;
2using Newtonsoft.Json;
3
5{
9 public class PerspectiveConverter : JsonConverter
10 {
13 public override bool CanConvert(Type objectType) => objectType == typeof(Perspective);
14
18 public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) =>
19 reader.TokenType == JsonToken.String ? Perspective.FromString((string)reader.Value) :
20 reader.TokenType == JsonToken.Null ? (Perspective)null :
21 throw new InvalidOperationException("Unhandled case for PerspectiveConverter. " +
22 "Unexpected TokenType: " + reader.TokenType);
23
25 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
26 {
27 if (value == null)
28 writer.WriteNull();
29 else if (value is Perspective perspective)
30 writer.WriteValue(perspective.ToString());
31 else
32 throw new InvalidOperationException(
33 "Unhandled case for PerspectiveConverter. Unexpected type: " + value.GetType());
34 }
35 }
36}
Converts JSON string representations of Perspective to an instance.
override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
Uses the Perspective.FromString static factory method to return either one of the immutable perspecti...
override bool CanConvert(Type objectType)
Returns true if the target type is a Perspective instance.
The loss perspective determines what factors to include when computing a distribution.
static Perspective FromString(string perspectiveString)
Implicit converter that allows automatically converting a string into a perspective,...