【问题标题】:List<object> to List<SomeObject> dynamicallyList<object> 到 List<SomeObject> 动态
【发布时间】:2016-12-28 15:41:10
【问题描述】:

我有一个对象:

List<Object> res= SomeList of Objects

我想将 res 转换为另一个对象,比如说“公司”。最简单的方法是:

res.cast<company>().ToList();

但我想动态地做到这一点。我想以对象的形式传递公司。有什么办法吗? 公司是一个实体对象。 谢谢--AG

【问题讨论】:

  • 为什么不使用List&lt;company&gt;
  • 你想投到List&lt;company&gt;吗?
  • 您可能正在寻找 Dynamic Linq 或 AutoMapper。谷歌他们
  • 如果您使用的是 EF,您似乎想要使用泛型类型,而不是对象
  • 嗨,我不知道为什么它被标记为不清楚。我明确表示我想在 Cast 中传递一个实体类型。我们通常像 object.cast 那样做。问题是我们如何使它动态化?这样我们就不需要在运行时指定 cast ,而是可以创建对它的引用并使用它。通过这种方式,我们可以将任何 List 动态转换为引用的对象。

标签: c# asp.net entity-framework-6


【解决方案1】:

我猜您正在寻找的是泛型类型转换,我认为您可以为此使用泛型函数

public static List<T> MyCastingFunction<T>(List<object> res)
{
return res.cast<T>().ToList();
}

你可以这样称呼它

List<Company> companyList= MyCastingFunction<company>(res);

或者如果您想将其转换为其他类型,那么

List<AnyOtherType> otherList=MyCastingFunction<AnyOtherType>(res);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2018-09-22
    • 2021-12-15
    • 2022-07-26
    • 2018-07-17
    相关资源
    最近更新 更多