【发布时间】:2014-01-22 01:32:07
【问题描述】:
任何人都可以帮助这个方法?我有一个将文件反序列化为类型的通用方法。
public static T DeserializeFromFile<T>(string fileName) where T : class
{
if (!File.Exists(fileName))
return null;
try
{
using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
BinaryFormatter formatter = new BinaryFormatter();
stream.Seek(0, SeekOrigin.Begin);
return (T)formatter.Deserialize(stream);
}
}
catch (Exception ex)
{
return null;
}
}
知道为什么我会得到这个 SerializationException 吗?
谢谢。
【问题讨论】:
-
可能是因为文件写入不正确......您也不需要将流寻找到 0 - 当您打开它时它已经存在了。
-
是序列化的问题,类型是外部组装类型,没有Serializable属性。
-
@George:那你是怎么序列化的;因为这个异常是在反序列化过程中抛出的,所以我之前假设对象已经序列化成功了..
标签: serialization c#-4.0 generics binaryformatter