本文介绍了在C#中,我怎样才能序列化问答LT;>? (.NET 2.0)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前XmlSerializer的构造线的下方会导致一个InvalidOperationException,这也抱怨没有实现的泛型类型默认accesor。
问答LT;迈德特> myDataQueue =新问答LT;迈德特>();
//这里填充队列
XmlSerializer的mySerializer =
新的XmlSerializer(myDataQueue.GetType());
StreamWriter的myWriter =新的StreamWriter(myData.xml);
mySerializer.Serialize(myWriter,myDataQueue);
myWriter.Close();
解决方案
这将是更容易(和更合适的IMO)来序列从队列中的数据的 - 也许在一个平面阵列或名单,其中,T>
。由于问答LT; T>
工具的IEnumerable< T>
,你应该能够使用:
名单,其中,T>名单=新的名单,其中,T>(队列);
At the XmlSerializer constructor line the below causes an InvalidOperationException which also complains about not having a default accesor implemented for the generic type.
Queue<MyData> myDataQueue = new Queue<MyData>();
// Populate the queue here
XmlSerializer mySerializer =
new XmlSerializer(myDataQueue.GetType());
StreamWriter myWriter = new StreamWriter("myData.xml");
mySerializer.Serialize(myWriter, myDataQueue);
myWriter.Close();
解决方案
It would be easier (and more appropriate IMO) to serialize the data from the queue - perhaps in a flat array or List<T>
. Since Queue<T>
implements IEnumerable<T>
, you should be able to use:
List<T> list = new List<T>(queue);
这篇关于在C#中,我怎样才能序列化问答LT;&GT;? (.NET 2.0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!