return 在 if 语句中抛出转换错误
return in if statement throws conversion error
长篇大论提前致歉post。只是想把我所有的信息都告诉你。
我在方法中有一个 if
语句,如下所示:
var comparison = await SystemService.SearchCount();
var fileExporter = Configure();
var fileName = "SearchResults"
if (defaultValue <= comparison)
{
var result = SearchResult.Rows.Where(s => VSR.Any(s2 => s2.ID == s.Values.FirstOrDefault()));
var records = SearchResult.Rows.ToList();
await Task.Yield();
return fileExport.ToCsv(records, fileName);
}
我收到的错误是以下错误:
cannot convert from 'System.Collections.Generic.List<SearchRows>
' to 'System.Collections.Generic.IList<SearchResults>
'
我试图将 return 更改为显式转换为 IList
,如下所示:
return fileExport.ToCsv((IList<SearchResults>)records, fileName);
这将让它在 Visual Studio 中构建,但是当我 运行 它并查看开发者工具时它会抛出 InvalidCastException:
System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List[SearchRow] to type System.Collections.Generic.IList[SearchResult].
我在这里错过了什么?我没有发现代码有任何问题。
SearchResults 模型是要return编辑的记录列表(ID、姓名等)
SearchRows 模型用作列和行的包装器(我没有命名它们,它们与遗留代码一起出现)
records
是 List<SearchRow>
类型,与 List<SearchResult>
类型不兼容,您要么必须将 SearchRows
转换为 SearchResults
(例如,通过 Select
) 或更改 ToCSV
接受的类型
长篇大论提前致歉post。只是想把我所有的信息都告诉你。
我在方法中有一个 if
语句,如下所示:
var comparison = await SystemService.SearchCount();
var fileExporter = Configure();
var fileName = "SearchResults"
if (defaultValue <= comparison)
{
var result = SearchResult.Rows.Where(s => VSR.Any(s2 => s2.ID == s.Values.FirstOrDefault()));
var records = SearchResult.Rows.ToList();
await Task.Yield();
return fileExport.ToCsv(records, fileName);
}
我收到的错误是以下错误:
cannot convert from '
System.Collections.Generic.List<SearchRows>
' to 'System.Collections.Generic.IList<SearchResults>
'
我试图将 return 更改为显式转换为 IList
,如下所示:
return fileExport.ToCsv((IList<SearchResults>)records, fileName);
这将让它在 Visual Studio 中构建,但是当我 运行 它并查看开发者工具时它会抛出 InvalidCastException:
System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List[SearchRow] to type System.Collections.Generic.IList[SearchResult].
我在这里错过了什么?我没有发现代码有任何问题。
SearchResults 模型是要return编辑的记录列表(ID、姓名等)
SearchRows 模型用作列和行的包装器(我没有命名它们,它们与遗留代码一起出现)
records
是 List<SearchRow>
类型,与 List<SearchResult>
类型不兼容,您要么必须将 SearchRows
转换为 SearchResults
(例如,通过 Select
) 或更改 ToCSV