首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将IList<Object>转换为IList<CustomObject>?

将IList<Object>转换为IList<CustomObject>?
EN

Stack Overflow用户
提问于 2012-06-16 21:41:50
回答 2查看 2.2K关注 0票数 1

我创建了一个泛型函数,用于检索并解析JSON:

代码语言:javascript
复制
    public IList<Object> RetrieveView(string result)
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();

        IList<Object> values = ser.Deserialize< IList<Object> >(result);

        return values;
    }

问题是我有很多使用它的类。例如,当我尝试使用以下命令时:

代码语言:javascript
复制
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]'.

如何保持我的函数泛型,并能够将其强制转换为我所有的类/模型?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-16 21:43:43

使你的函数泛型:

代码语言:javascript
复制
    public IList<T> RetrieveView<T>(string result)
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();

        IList<T> values = ser.Deserialize< IList<T> >(result);

        return values;
    }
票数 6
EN

Stack Overflow用户

发布于 2012-06-16 21:43:50

如果对象被反序列化为Receipt,则可以使用Enumerable扩展。

代码语言:javascript
复制
IList<Receipt> receipts = RetrieveView(result).Cast<Receipt>().ToList();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11063940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档