我想做的就是
XmlSerializer serializer = new XmlSerializer(typeof(Stack<int>));
我在运行时得到以下内容:
System.InvalidOperationException
:您必须实现默认访问者
System.Collections.Generic.Stack
`1 [[System.Int32,mscorlib,Version = 2.0.0.0,
Culture = neutral,PublicKeyToken = b77a5c561934e089]]因为它继承自ICollection。
我不应该序列化Stack<int>
吗?
答案 0 :(得分:8)
由于Stack类没有默认访问器(例如索引),因此无法使用该方法对其进行序列化。
我建议将堆栈复制到List然后序列化列表。
List<int> serializableLIst = new List<int>( myStack );
XmlSerializer serializer = new XmlSeralizer(typeof(List<int>));
看看是否效果不佳。