Expando Object和IEnumerable返回无法将void隐式转换为object

时间:2017-03-10 15:30:25

标签: c# list ienumerable expandoobject

此代码抛出错误'无法将类型void隐式转换为对象'

dynamic disruption1 = new ExpandoObject();
disruption1.locationsAffected = new string[] { "london", "panama" };
IEnumerable<dynamic> disruptionList = new List<dynamic>().Add(disruption1);

但我不确定有什么不对,我也试过

dynamic disruptionList = new List<dynamic>().Add(disruption1);

它不会抛出错误,但不是我需要的。

我正在创建一个单元测试。

1 个答案:

答案 0 :(得分:2)

Add()方法的返回类型是void,并且您正在尝试将void分配给List<dynamic>类型的变量,这是绝对不允许的,编译器会抛出错误您已经看到,因为您已经引用了List<T>,请按照以下方式在新行中添加项目:

dynamic disruptionList = new List<dynamic>();
disruptionList.Add(disruption1);