Исправление «устаревшего» предупреждения при использовании MsgPack.Cli

Я использую MsgPack.Cli для написания собственного сериализатора для класса Session, который я создал. После создания класса с помощью этого руководства в MsgPack.Cli github, я получаю это предупреждение:

Предупреждение: «MessagePackSerializer.MessagePackSerializer()» устарел: «Вместо этого используйте MessagePackSerializer (SerializationContext)».

Я не могу понять, какое изменение исправит это предупреждение. Я не думаю, что знание MessagePackSerializer необходимо, чтобы помочь мне в этом; Я просто не понимаю синтаксиса предупреждения.

Мой код приведен ниже:

namespace Something_Networky
{
    public class Session
    {
        private int _n;
        public int n { get; }

        public Session(int n)
        {
            this._n = n;
        }
    }

    public class SessionSerializer : MessagePackSerializer<Session>
    {
        public SessionSerializer() : this(SerializationContext.Default) { }

        public SessionSerializer(SerializationContext context) // Warning displayed on this line
        {

        }

        protected override void PackToCore(Packer packer, Session value)
        {
            throw new NotImplementedException();
        }

        protected override Session UnpackFromCore(Unpacker unpacker)
        {
            throw new NotImplementedException();
        }
    }
}

Спасибо за вашу помощь.


person Sam    schedule 14.04.2017    source источник


Ответы (1)


Я исправил ошибку. Рабочий код ниже; Я не вызывал базовый конструктор с правильными аргументами.

public class SessionSerializer : MessagePackSerializer<Session>
{
    public SessionSerializer(SerializationContext context) : base(context) {
        throw new NotImplementedException();
    }

    protected override void PackToCore(Packer packer, Session objectTree)
    {
        throw new NotImplementedException();
    }

    protected override Session UnpackFromCore(Unpacker unpacker)
    {
        throw new NotImplementedException();
    }
}
person Sam    schedule 17.04.2017