如何解决反序列化中的此错误?

可怕的狗

sCreator.exe中发生了类型为'System.InvalidCastException'的未处理异常。其他信息:无法将类型为'System.String'的对象转换为类型为'sCreator.Shape'。

这是代码:

    public void Deseriaize(StreamReader file)
    {
        XmlSerializer ser = new XmlSerializer(typeof(string));
        Shape s = (Shape)ser.Deserialize(file);
        file.Close();
        MessageBox.Show(s.title);
    }

    private void btn_OpenProject_Click(object sender, EventArgs e)
    {
        StreamReader file = new StreamReader(@"C:\Users\pb8n0053\Documents\SerializationOverview.seal");
        Deseriaize(file);
    }

形状等级

 [Serializable]
public class Shape
{
    //Properties
    public Draw draw;
    public String title;
    public float width { get; set; }
    public float height { get; set; }
    public float x { get; set; }
    public float y { get; set; }
    public static PointF center = new PointF(250f, 250f);
    public int strokeThickness { get; set; }
    public Color color { get; set; }
    public float userDefinedWidth { get; set; }
    public float userDefinedHeight { get; set; }
    public int userDefinedStroke { get; set; }
    public SizeF size;
    public PointF location;
    public float radius;
    public ShapeType type;
    public Status status;
    public enum ShapeType
    {
        rectangle, square, circle, ellipse, triangle, image
    }
    public enum Status
    {
        editing, start
    }
}
拉普图

XmlSerializer正在使用typeof(string)构造函数的参数创建的。这意味着该序列化程序旨在将XML与进行相互转换System.String如果您希望它在类型之间来回转换XML Shape,则可以使用它来初始化它:

public void Deseriaize(StreamReader file)
{
    XmlSerializer ser = new XmlSerializer(typeof(Shape));
    Shape s = (Shape)ser.Deserialize(file);
    file.Close();
    MessageBox.Show(s.title);
}

请注意,如果您尝试反序列化未使用创建的XMLXmlSerializer或您的Shape类未正确实现,则序列化/反序列化周期可能会失败或无法正常工作ISerializable

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何解决由休眠双向映射导致的json序列化器中的循环引用?

如何解决JSONB序列化的双向关系?

如何解决此错误“ JSON分析错误:无法从START_OBJECT中反序列化java.lang.Integer实例

如何解析/反序列化动态JSON

如何解决java.lang对象多态性的Gson反序列化问题

如何解决Laravel中的序列化关闭错误?

在MiniZinc中如何解决此错误?

如何反序列化此JSON字符串?

此共享库中的什么是“不可序列化”的,我该如何解决?

如何反序列化此动态值JSON?

Java序列化如何解决循环引用问题?

在MongoDB中序列化和反序列化结构的解决方法

是什么导致此错误在C#中反序列化XML?

我应该如何正确反序列化此对象?

如何解决错误:无效的JSON输入:无法从START_ARRAY令牌中反序列化Topic实例

如何使用F#序列化/反序列化此AWS API?

如何解决Django类序列化器断言错误

如何解决反序列化rest服务返回的xml中的问题?

如何解决反序列化xml文件时生成的问题?

如何解析/反序列化从C#中的REST服务返回的JSON

如何解决RestKit JSON序列化问题

在C#中,我如何反序列化此json?

我如何反序列化此json?

此查询中的错误:如何解决?

如何解决 ignitecheckedexception:确保缓存配置中的所有对象都是可序列化的

如何解决Kafka Avro反序列化问题

如何在 wordpress 中反序列化此数据

请问sdk如何解决反序列化错误

如何解决这个二叉树反序列化问题?