为什么我不能将List<AnonymousObject>
强制转换为List<dynamic>
?我有以下的代码:
var datasource = someList.Select(o => new { x = o.A, y = o.B });
dgvSomeGridView.DataSource = datasource.ToList();
dgvSomeGridView.DataBind();
然后我使用以下代码访问GridView.DataSource
:
var ds = ((List<dynamic>)dgvSomeGridView.DataSource);
....
但是当我将它转换为List<dynamic>
时,代码会在该行抛出错误,错误信息如下:
无法将类型为
System.Collections.Generic.List'1[<>f__AnonymousType0'8[System.Int32,System.String]]
的对象强制转换为类型System.Collections.Generic.List'1[System.Object]
。
为什么无法将匿名类型的列表转换为dynamic
类型,或者如错误所述,转换为object
类型?如何解决这个问题?
我的代码使用C#语言,.NET Framework 4.0版本,使用VS2010 Pro编译,平台为ASP.NET。
请帮忙解决,谢谢!