У меня есть вариант использования, когда я сериализую объекты по сети через MSMQ (в основном строки). Когда я читаю объект из очереди, я хочу иметь возможность определить, имел ли пользователь в виду, что объект должен быть XML или строкой. Я думал, что хорошим способом сделать это будет просто проверить тип. Если это XmlElement, то он становится данными XML, иначе он становится строкой или CDATA. Причина, по которой я не хочу просто проверять, являются ли данные действительными XML, заключается в том, что иногда будут предоставлены данные, которые должны быть сериализованы как строка, но на самом деле являются допустимым XML. Я хочу, чтобы вызывающий абонент мог управлять десериализацией в строку или XML.
Существуют ли какие-либо типы, помеченные как сериализуемые в .NET Framework, такие как XElement или XmlElement (оба типа не помечены как сериализуемые)?