Десериализация объектов с закрытыми модификаторами доступа

Есть библиотека в которой имеется множество классов которые объявлены примерно следующим образом:

    public class PAT : Table
    {
        public ushort Transport_stream_id { get; internal set; }        
        public PatRecord[] PatRecords { get; internal set; }                    
        public uint CRC { get; internal set; }    
        ...
    }    

То есть используют модификатор internal для сеттеров.

Появилась необходимость передать эти объекты по сети. Выбрал вариант передавать в Json. Сериализация проходит без проблем. При десериализации возвращается объект с пустыми полями. Есть вариант добавить новый класс и переопределить его свойства:

class Pat2 : PAT
{
    public new ushort Section_length { get; set; }
    public new uint CRC { get; set; }
    ...
}

Но для каждого класса который определён в библиотеке сделать это очень проблематично. Есть ли вариант унаследоваться от исходного класса таким образом чтобы все методы были автоматически переопределены с модификаторами public? Или может есть вариант выполнить десериализацию объекта чтобы возвращаемый объект не был пустым.

Для сериализации/десериализации использую Newtonsoft.Json


Ответы (0 шт):