我可以按类型转换通用列表吗?

时间:2010-05-14 17:44:24

标签: c# generics list

        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变量中的项目类型以放入我的通用列表。

请帮助!!!

1 个答案:

答案 0 :(得分:1)

泛型的整个概念是类型将在编译时知道。这就是它如此之快的原因。在您的情况下,类型仅在运行时已知

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