【发布时间】:2018-06-27 04:44:11
【问题描述】:
在asp.net core 2.1中,引入了AsctionResult<T>,并定义了从T到ActionResult<T>的隐式类型转换
在我的代码中,我收到一些转换错误。例如:
Error CS0029 Cannot implicitly convert type 'System.Collections.IEnumerable' to 'Microsoft.AspNetCore.Mvc.ActionResult<System.Collections.IEnumerable>'
虽然相同的转换适用于其他类型。我的代码中定义的几种类型也出现此错误。
上述错误的代码是:
public async Task<ActionResult<IEnumerable>> GetByFilter([FromBody]EntityListRequest request)
{
return await _entityHandler.GetByFilter(request);
}
_entityHandler.GetByFilter() 在哪里:
Task<IEnumerable> GetByFilter(EntityListRequest request);
【问题讨论】:
-
返回
IEnumerable<T>是否有效?您返回非泛型IEnumerable似乎很奇怪。 -
@Brad 我刚刚测试并得到了同样的错误。返回非泛型
IEnumerable的原因是在编译时不知道可枚举成员的实际类型。这取决于请求的某些属性。
标签: c# asp.net-core type-conversion implicit-conversion