DataContractSerializer不会对自定义枚举进行去动

时间:2018-01-15 23:25:27

标签: c# xml serialization enums datacontractserializer

我上课序列化了:

{
    var serializer = new DataContractSerializer(typeof(creature));
    var str = new System.IO.FileStream("D://test.txt", System.IO.FileMode.Create);
    serializer.WriteObject(str, creatures[1]);
    str.Close();
}

并使用

反序列化它
{
    DataContractSerializer serializer = new DataContractSerializer(typeof(creature));
    var str = new System.IO.FileStream("D://test.txt", System.IO.FileMode.Open);                    
    creature t = (creature)serializer.ReadObject(str);
    str.Close();
}

并获得一个例外

  

" XmlException:未找到类型; name:stats,namespace:http://schemas.microsoft.com/2003/10/Serialization/Arrays"

statsenumcreature类引用它。

[DataContract]
public enum stats { [EnumMember] STR, [EnumMember] DEX, [EnumMember] CON, [EnumMember] INT, [EnumMember] WIS, [EnumMember] CHA };

有谁知道这可能是什么问题? (我试过没有[EnumMember]声明,同样的事情。)

0 个答案:

没有答案