如何使用List <dynamic> </dynamic>

时间:2013-12-04 09:03:23

标签: c# list dynamic

我需要从我的数据库中获取billers列表。 这是我的代码:

public static List<dynamic> GetBillers()
{
    DataLayer.DLContext context = new DataLayer.DLContext();

    var Billers = (from b in context.Biller
                   where b.IsActive == true && b.IsDeleted == false
                   select new
                   {
                       ID = b.ID,
                       DisplayName = b.DisplayName
                   }).ToList();

    return Billers;
}

我收到此错误:

  

无法隐式将Collections.Generic.List<AnonymousType#1>类型转换为System.Collections.Generic.List<dynamic>

请帮忙。

3 个答案:

答案 0 :(得分:6)

(from b in context.Biller
 where b.IsActive == true && b.IsDeleted == false
 select (dynamic) new {
     ID = b.ID,
     DisplayName = b.DisplayName
 }).ToList();

应该做的工作。但就个人而言,我不确定这是一个特别有用的举动 - 我建议返回一个已知的类/接口。 dynamic有各种用途,但这不是一个好用的。

答案 1 :(得分:1)

投射到动态:

var Billers = (from b in context.Biller
               where b.IsActive == true && b.IsDeleted == false
               select new
               {
                   ID = b.ID,
                   DisplayName = b.DisplayName
               }).ToList<dynamic>();

答案 2 :(得分:0)

您无法将List<T>分配给List<dynamic>个对象。您需要逐个添加每个对象;

        var temp = new List<dynamic>();
        foreach (object obj in Billers)
        {
            temp.Add(obj);
        }