代码之家  ›  专栏  ›  技术社区  ›  David Arno

除非使用自定义转换器,否则是否有方法指定类型必须无法反序列化?

  •  1
  • David Arno  · 技术社区  · 6 年前

    Foo

    public class FooConverter : JsonConverter { ...
    

    FooConverter 存在是一个 由普通反序列化程序创建的实例将导致初始化不正确。所以 必须始终用于序列化/反序列化

    class Foo
    {
        private Foo(int _) {}
    
        public Foo(string x, string y) : this(0)
        {
            ...
    

    现在将导致 JsonSerializationException FOO转换器

    All I can find is the ConstructorHandling enum

    我是错过了什么,还是必须继续使用我的“黑客”方法?

    1 回复  |  直到 6 年前
        1
  •  3
  •   CodeCaster    6 年前

    FooConverter Foo

    [JsonConverter(typeof(FooConverter))]
    public class Foo
    {
    }