Не из коробки.
У вас есть варианты, хотя.Вот некоторые из них:
(1) Вы можете просмотреть XML, используя, скажем, XPath, чтобы получить имя корневого элемента для определения типа объекта (или использовать отдельные пространства имен для каждого класса).
(2) Вы также можете использовать более сложный XML-сериализатор, такой как этот в CodeProject, который будет автоматически определять типы из «словаря», а затем вы можете использовать отражение, чтобы определить, какой это тип на самом деле.
(3) Вы также можете просто попытаться десериализовать XML с каждым XmlSerializer для каждого имеющегося у вас типа - и перейти к следующему, если он потерпит неудачу.Не очень приятно.
(4) Наконец, вы можете создать класс, в котором есть член для каждого из ваших объектов, и сериализовать его вместо каждого объекта в отдельности, например, член enum, чтобы помочь вам написать код дляизвлечь правильный член.Опять же, не очень хорошее решение.
Обратите внимание, что все эти подходы увеличивают производительность.И они не совсем хорошие варианты :)