【问题标题】:Can I Cast a Generic List by Type?我可以按类型投射通用列表吗?
【发布时间】:2010-05-14 17:44:23
【问题描述】:
        NavigatorItem NavItem = (NavigatorItem)cboItems.SelectedItem;

        lblTitle.Text = NavItem.Title;

        RadWrapPanel Panel = new RadWrapPanel();

        Type t = NavItem.ItemsType; //<------ The Type inside my List is here.

        List<???> items = (List<???>)NavItem.Items; // <----Here Is the problem

        foreach (object item in items)
        {
              Panel.Children.Add((UIElement)Activator.CreateInstance(NavItem.Display,item));
        }

        ItemsContainer.Content = Panel;

在上面的代码中,我需要获取 t 变量上的项目类型以放入我的通用列表中。

请帮忙!!!

【问题讨论】:

    标签: c# generics list


    【解决方案1】:

    泛型的整个想法是在编译时就知道类型。这就是让它如此之快的原因。在您的情况下,类型仅在运行时才知道

    也许考虑使用object 作为列表中的类型?或者(如果有的话)可能替代方案的基类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2018-06-18
      相关资源
      最近更新 更多