Sha*_*bie 1 c# anonymous-types
我有一个匿名类型的数组声明为:
var list = new[]
{
new {Name = "A", Age = 10},
new {Name = "B", Age = 15}
}
Run Code Online (Sandbox Code Playgroud)
现在列表继承自Array类型,它实现了IEnumerable.为什么以下失败:
Convert.ChangeType(list, typeof(IEnumerable));
Run Code Online (Sandbox Code Playgroud)
这也失败了:
Convert.ChangeType(list, typeof(Array));
Run Code Online (Sandbox Code Playgroud)
亲切的问候,
该Convert.ChangeType方法需要实现IConvertible- 基本上是如何从源类型转换为目标类型的声明. System.Array没有实现IConvertible接口.
你要做的是从一种类型转换到另一种类型,并且(IEnumerable)list运行得非常好.
编辑:
正如Jon所说,这里的演员是隐式的,所以对IEnumerable的简单赋值(即隐式转换)也有效.
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |