所以,我有一个在运行时加载dll的项目,我正在使用反射和界面来创建dll。
我创建了一个引用为dll(在运行时)的用户控件,它具有需要序列化的List。它正确地序列化项目,但是当我尝试加载它时,我无法反序列化它。
现在,我在另一个将用户控件作为项目引用的项目上测试了这个usercontrol,它运行良好。
这是我的代码:
static public object SerializeLoad(string sFilename)
{
try
{
object _object = null;
Stream stream = File.Open(sFilename, FileMode.Open);
//BinaryFormatter bformatter = new BinaryFormatter();
XmlSerializer bformatter = new XmlSerializer(typeof(ElementTodo), "ToDo");
//_object = (_object.GetType())bformatter.Deserialize(stream);
_object = bformatter.Deserialize(stream);
stream.Close();
return _object;
}
catch
{
return null;
}
}
我尝试了二者和xml两者都通过“XML文档中存在错误(2,2)”。任何想法为什么会这样?
<小时/> 生成的XML如下:
<?xml version="1.0"?>
<ArrayOfElementTodo xmlns:xsi="w3.org/2001/XMLSchema-instance"; xmlns:xsd="w3.org/2001/XMLSchema"; xmlns="ToDo">
<ElementTodo Title="a" content="aa" isDone="false" />
<ElementTodo Title="b" content="bb" isDone="false" />
<ElementTodo Title="c" content="cc" isDone="false" />
<ElementTodo Title="d" content="dd" isDone="false" />
</ArrayOfElementTodo>