Десериализация объектов с закрытыми модификаторами доступа
Есть библиотека в которой имеется множество классов которые объявлены примерно следующим образом:
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