我找不到将匿名类型作为类型参数传递给泛型类的方法.
//这是我要实例化的类
public class ExtArrayStore<T> : IViewComponent
{
public IQueryable<T> Data { get; set; }
Run Code Online (Sandbox Code Playgroud)
... //创作者类
public static class ArrayStoreGenerator
{
public static ExtArrayStore<T> CreateInstance<T>(IQueryable<T> query)
{
return new ExtArrayStore<T>();
}
}
Run Code Online (Sandbox Code Playgroud)
//试着用这个
IQueryable usersQuery= ((from k in bo.usersselect new { userid = k.userid, k.username}).AsQueryable());
var x = ArrayStoreGenerator.CreateInstance(usersQuery);
Run Code Online (Sandbox Code Playgroud)
我正进入(状态;
无法从用法推断出方法ArrayStoreGenerator.CreateInstance(System.Linq.IQueryable)'的类型参数.尝试显式指定类型参数
有没有办法实现这个目标?(我正在考虑接口和返回接口,但不确定它是否可行)任何人都可以帮助将anon类型传递给泛型.
usersQuery正被输入为非泛型,IQueryable因为您在变量的声明中明确指定了它.
相反,做var usersQuery = ....这将键入变量as IQueryable<TAnon>,然后匹配签名ArrayStoreGenerator.CreateInstance.