错误:C#XML序列化/反序列化

Kau*_*hal -2 c# serialization deserialization

这是实际的代码,不是完整的代码,而是它的主要部分.基本上我在这里编写一个实现一些接口的插件,我需要存储插件的状态,因为它在整个过程中运行多次.但是通过xml存储状态会产生错误

using System;
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 5

您的代码将无法编译.使用state您创建的实例而不是尝试设置非静态字段.还要确保通过将其包装在using语句中来正确处理IDisposable资源:

using System.IO;
using System.Xml.Serialization;

namespace Plugin
{
    public class state
    {
        public int a;
        public int b;
    }
    public class xyz
    {
        public static void Main()
        {
            state s = new state();
            s.a = 3;
            s.b = 5;
            XmlSerializer x = new XmlSerializer(s.GetType());
            using (StreamWriter sw = new StreamWriter(@"E:\state\state.xml"))
            {
                x.Serialize(sw, s);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

生成以下XML文件:

<?xml version="1.0" encoding="utf-8"?>
<state xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <a>3</a>
  <b>5</b>
</state>
Run Code Online (Sandbox Code Playgroud)