Files
csharp/src/KubernetesClient/V1Status.ObjectView.cs

53 lines
1.4 KiB
C#
Raw Normal View History

2017-11-06 01:49:50 +08:00
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace k8s.Models
{
public partial class V1Status
{
internal class V1StatusObjectViewConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, value);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
JsonSerializer serializer)
{
var obj = JToken.Load(reader);
try
{
return obj.ToObject(objectType);
}
catch (JsonException)
{
// should be an object
}
return new V1Status
{
_original = obj,
HasObject = true
};
}
public override bool CanConvert(Type objectType)
{
return typeof(V1Status) == objectType;
}
}
private JToken _original;
public bool HasObject { get; private set; }
public T ObjectView<T>()
{
return _original.ToObject<T>();
}
}
}