【发布时间】:2013-02-27 16:21:41
【问题描述】:
我遇到了一些奇怪的异常,例如 tmo = (testobjectt)value[i];这是“无法将'System.Xml.XmlNode []'类型的对象转换为system.type类型”。
关于这个问题有什么想法吗?唯一可用的解决方案是重新启动 Windows 服务,以便 UI 中的所有内容都可用。另一件事是我们在客户端和服务器之间确实有 API。
这是我正在使用的代码 sn-p:
public class Testarray: ArrayList
// Release resources
if (rd != null)
{
rd.Close();
}
return retval;
}
Assembly a = Assembly.GetAssembly(typeof(Testobject));
string myType = a.gettype;
string xml = xmlvalue;
DataModelObject dmo;
// Deserialize and process the object
Testarraycol = Testarray.Deserialize(xml, Type.type);
tmo= (Testobject)value[i]; // this is where the exception occurs
更新 是否有任何地方需要无参数构造,我正在手动检查整个项目在序列化时丢失的任何地方?
【问题讨论】:
-
你能发布
ObjectArray.Deserialize方法吗? -
@Alex Filipovici 我用反序列化方法编辑了我的问题
-
你到底为什么要使用
ArrayList和XmlTextReader?自 .NET 2.0 以来,它们都已被弃用! -
@John Saunders 您是在谈论这里将面临的任何性能问题,还是只是一些升级级别的变化?那么这是最好的选择
-
用
XmlReader.Create()代替new XmlTextReader(),用List<T>代替ArrayList。
标签: c# .net visual-studio-2010 .net-4.0