繁体   English   中英

在C#中强制转换自定义集合类型

[英]Casting a custom collection type in C#

我有一个返回集合的自定义方法:

 Course[] catalog = clnt.GetCatalog(new Guid(CurrentUser.MembershipGUID));

然后,将其传递给我的ViewData对象:

 ViewData["catalog"] = catalog;

但是当我尝试像这样在我的aspx页面上访问它时:

   var catalog = ViewData["catalog"] as Course[];

这是被调用的方法:

    public List<Course> GetCatalog()
    {

        using (var db = new BALmsDBContainer())
        {
            List<Course> lst = db.Courses.Include(i => i.Vendor).ToList();
          return lst;
        }
     }

我得到的目录为空。 我的ViewData [“ catalog”]对象不为null。 对此提供100%的保证。 如何将ViewData [“ catalog”]对象投射回Course []?

var catalog = (Course)ViewData["catalog"]

如此处所述,“ as”运算符实际上不同于显式强制转换: http : //msdn.microsoft.com/zh-cn/library/cscsdfbt(v=vs.100).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM