這裏是我的代碼:一個神祕的例外在這裏:XamlParseException
public partial class MainWindow : Window
{
List<Cliente> CContent;
string mainPath = @"D:\70-536\Clientes.dat";
public MainWindow()
{
InitializeComponent();
Do();
}
private void Do()
{
FileInfo fi = new FileInfo(mainPath);
if (fi.Exists)
{
CContent = ReturnListOfPersistentFile<Cliente>(mainPath);
}
else
{
CContent = new List<Cliente>();
}
}
public List<T> ReturnListOfPersistentFile<T> (string Filename)
{
SoapFormatter sf = new SoapFormatter();
using (Stream fStream = new FileStream(Filename,FileMode.Open, FileAccess.Read,FileShare.None))
{
List<T> list = new List<T>();
list = (List<T>)sf.Deserialize(fStream);
return list;
}
}
這是我的InnerException的堆棧跟蹤:
連接System.Xml.XmlTextReaderImpl.Throw(例外五)EN 系統.Xml.XmlTextReaderImpl.Throw(字符串RES,字符串ARG)烯 System.Xml.XmlTextReaderImpl.ThrowUnclosedElements()烯 System.Xml.XmlTextReaderImpl.ParseAttributes()烯 System.Xml.XmlTextReaderImpl.ParseElement()烯 System.Xml.XmlTextReaderImpl.ParseDocumentContent()烯 System.Xml.XmlTextReaderImpl.Read()烯 System.Xml.XmlTextReader.Read()烯 System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
恩System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()EN System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler 處理器,ISerParser serParser)EN System.Runtime.Serialization.Formatters。 Soap.SoapFormatter.Deserialize(Stream serializationStream,HeaderHandler handler)en System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream)en Solution1.MainWindow.ReturnListOfPersistentFile [T](String Filename)en c:\ users \ u201114160 \ documents \ visual studio 2010 \ Projects \ Solution1 \ Solution1 \ MainWindow.xaml.cs:línea99 en Solution1.MainWindow.Do ()en c:\ users \ u201114160 \ documents \ visual studio 2010 \ Projects \ Solution1 \ Solution1 \ MainWindow.xaml.cs:línea45
zh Solution1.MainWindow..ctor()en c:\ users \ u201114160 \文檔\ Visual Studio的 2010 \項目\解決方法1 \解決方法1 \ MainWindow.xaml.cs:拉利內阿36
這讓我發瘋,一些想法?這個異常是因爲「ReturnListOfPersistentFile」泛型方法而拋出的,但是爲什麼?
在此先感謝。
回答: 我試圖用SOAP格式化程序序列化一個通用列表,但是SOAP格式化程序不支持通用列表。
我就遇到了這個線程forums.microsoft.com.讓我引用了微軟員工說:
我們已經決定不以任何顯著的新功能的工作投入了SoapFormatter在Whidbey的
謝謝大家。
...因爲你有一個損壞的文件? – Theraot
因爲SOAP序列化不支持泛型列表,所以並不是很乾淨。:( –
對不起,我環顧四周,並且沒有發現類似於我的任何問題,無論如何我必須解釋我是如何修復它的,謝謝 –