【问题标题】:C# get IEnumerable type and use it in listC# 获取 IEnumerable 类型并在列表中使用它
【发布时间】:2012-06-10 13:00:41
【问题描述】:

我有IEnumerable<object> Value。我可以获取模型类型然后声明相同类型的列表吗?

例如我得到了 IEnumerable 然后想声明List<cars> lst = new List<cars>

谢谢

【问题讨论】:

  • 您是否要声明一个静态类型与另一个变量的运行时类型相同的变量?很明显这是不可能的。我不确定你到底想做什么。你能澄清一下吗?
  • 您可能只是在寻找 Value.ToList()(一种 LINQ 扩展方法)。
  • 您真的有IEnumerable<object>,还是有IEnumerable<T>,其中T 可以是任何类型?
  • 与其他cmets相关:你如何定义模型类型
  • 是的,我有 我想做一个方法来获取不同的模型,而不是改变一些数据。我不知道我该怎么做

标签: c# ienumerable asp.net-mvc-4


【解决方案1】:

没有。模板类型在编译时确定。但是,您可以尝试将其声明为

List<dynamic> list = new List<dynamic>(value);

您不会获得真正的类型安全,但您可以在不使用反射的情况下访问表单中的属性:

foreach(dynamic d in list)  // assuming the list is a list of cars
{
    This car is a <%= d.Model %>.
}

【讨论】:

    猜你喜欢
    • 2014-02-07
    • 2011-02-22
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多