Что вы на самом деле хотите сделать здесь? Как уже было отмечено, вы не можете использовать BinaryFormatter
, если тип не сериализуем, но вам также необходимо учитывать все вещи, которые могут быть содержащими в контейнере. Они также должны быть сериализуемыми.
Вы можете обойти проблему "must be [Serializable]
", не используя BinaryFormatter
, но у большинства других сериализаторов (например, XmlSerializer
) будет проблема с незнанием всех подклассов заранее и тому подобного как не устанавливаемые свойства.
Если у вас есть правильные версии .NET, вы также можете рассмотреть такие вещи, как XamlWriter
, что может предоставить некоторые интересные возможности.