Код: Выделить всё
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
public interface IJson
{
string ToJson();
}
abstract public class JsonSerializable : IJson
{
public string ToJson()
{
return JsonSerializer.Serialize(this);
}
}
public class Cabinet :JsonSerializable {
[JsonPropertyName("name")]
public string Name { get; set; }
}
< /code>
Я использую его следующим образом: < /p>
public class Program
{
public static void Main()
{
var C = new Cabinet();
C.Name = "FOO";
IJson json_thing = C;
Console.WriteLine(JsonSerializer.Serialize(C));
Console.WriteLine(json_thing.ToJson());
}
}
< /code>
Однако результат: < /p>
{"name":"FOO"}
{}
Почему сериализация JSON с этим дополнительным между классом не работает? Я хочу этот класс между ними, потому что код сериализации для большинства класса будет идентичным.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -correctly