Преобразование типов

Рейтинг: 0Ответов: 1Опубликовано: 10.01.2015

Есть ситуация: присутсвует объект obj1, унаследованный от obj2, в obj1 есть свои родные поля. Как произвести каст его в obj2, чтоб при сериализации не учитывались поля obj1?

Пример:

class obj1 : obj2
{
 public VeryBadPropBrokeMySerialization bad{get; set;}
}

obj2
{
 public GoodProp good {get; set;}
}

Ответы

▲ 2Принят

Для начала, никаким преобразованием типов (кастом) вы не сможете повлиять на сериализацию: при сериализации учитывается лишь настоящий, runtime-тип.

Для решения вашей проблемы вам стоит попробовать использовать ручную сериализацию. Например, если речь идёт об XML-сериализации (вы не указали в вашем вопросе, о какой именно), вам нужно реализовать интерфейс IXmlSerializable.