YamldotNet - Как десериализовать объект с помощью конструктора / методов - PullRequest
0 голосов
/ 22 февраля 2019

Скажем, я пытаюсь десериализовать объект, у которого есть методы или что-то отличное от конструктора по умолчанию, похоже, что настройки DeserializerBuilder по умолчанию не могут его обработать, и он завершается неудачно при десериализации.

Я предполагаю, что решение является чем-то простым, возможно, что-то с IObjectFactory и DeserializerBuilder.WithObjectfactory?Любые советы будут оценены.

    public void Deserialize()
    { 
        string Input = File.ReadAllText("PairedPoints.txt");

        DeserializerBuilder deserializer = new DeserializerBuilder();

        List<PairedPoint3D2D> PairedPoints =  deserializer.Build().Deserialize<List<PairedPoint3D2D>>(Input);
    }
    public class point2d
    {
        public point2d(double X,double Y)
        {
            this.X = X;
            this.Y = Y;
        }
        public double X { get; set; }
        public double Y { get; set; }
    }
    public class point3d
    {
        public point3d(double X, double Y, double Z)
        {
            this.X = X;
            this.Y = Y;
            this.Z = Z;
        }
        public double X { get; set; }
        public double Y { get; set; }
        public double Z { get; set; }
    }
    public class PairedPoint3D2D
    {
         public point2d Point2d { get; set; } 
         public point3d Point3d { get; set; }
    }
...