首页 > 解决方案 > 序列化列表当类型无法序列化但具有 Serialize 方法时

问题描述

我正在使用其他人的 NuGet 包。我有一个列表,我需要序列化列表。IXSketchEntity 有一个序列化方法:

IXSketchEntity::Serialize();

IXSketchEntity 不能直接序列化。看起来它包含无法序列化的属性。

我需要将此列表序列化/反序列化到流中。

有没有一种方法可以确保序列化操作使用 IXSketchEntity 上提供的方法进行序列化?

using (var str = storage.TryOpenStream("SketchEntities", true))
    {
        var entities = TagHelper.GetTag<List<IXSketchEntity>>("SketchEntities");
        try
        {
            IExtendedXmlSerializer serializer = new ConfigurationContainer()
                .EnableImplicitTyping(typeof(List<IXSketchEntity>))
                .Create();

            serializer.Serialize(str, entities);

            Debug.WriteLine("Successfully Wrote SketchEntities on Save");
        }
        catch (Exception)
        {
            Debug.WriteLine("Write SketchEntities on Save FAILED");
        }

    }

标签: c#serialization

解决方案


推荐阅读