use*_*989 3 .net c# generics ienumerable
如何返回expected作为IEnumerable<T>给定下面的代码?
public List<object> expected = new List<object>();
public IEnumerable<T> SqlQuery<T>(string sql)
{
// Return expected as IEnumerable<T>
}
Run Code Online (Sandbox Code Playgroud)
(这是为单元测试创建的类,用于模拟实体框架SqlQuery<T>方法.我们可以提前设置我们的预期结果,并让它返回您期望的结果.)
假设expected确实包含类型的实例T,您可以使用LINQ Cast运算符:
public IEnumerable<T> SqlQuery<T>(string sql)
{
return expected.Cast<T>();
}
Run Code Online (Sandbox Code Playgroud)
如果任何元素的强制转换失败,将抛出InvalidCastException.