我创建了一个泛型函数,用于检索并解析JSON:
public IList<Object> RetrieveView(string result)
{
JavaScriptSerializer ser = new JavaScriptSerializer();
IList<Object> values = ser.Deserialize< IList<Object> >(result);
return values;
}问题是我有很多使用它的类。例如,当我尝试使用以下命令时:
IList<Receipt> receipts = (IList<Receipt>)RetrieveView(result);我得到了InvalidCastException Unable to cast object of type 'System.Collections.Generic.List[System.Object]' to type 'System.Collections.Generic.IList[Receipt]'.
如何保持我的函数泛型,并能够将其强制转换为我所有的类/模型?
发布于 2012-06-16 21:43:43
使你的函数泛型:
public IList<T> RetrieveView<T>(string result)
{
JavaScriptSerializer ser = new JavaScriptSerializer();
IList<T> values = ser.Deserialize< IList<T> >(result);
return values;
}发布于 2012-06-16 21:43:50
如果对象被反序列化为Receipt,则可以使用Enumerable扩展。
IList<Receipt> receipts = RetrieveView(result).Cast<Receipt>().ToList();https://stackoverflow.com/questions/11063940
复制相似问题