111,120
社区成员
发帖
与我相关
我的任务
分享
public IQueryable<T> getList()
{
//...
}
public override IQueryable<JS_Country> getCountries<JS_Country>()
{
TBullionDbEntities db = new TBullionDbEntities();
var q = from r in db.JS_Country
select r;
return q as IQueryable<JS_Country>;
}没有任何参数,类型是凭空冒出来的,如果你写成这样也是可以确定类型的 public override IQueryable<JS_Country> getCountries<JS_Country>(IQueryable<JS_Country> query)
{
var q = from r in query
select r;
return q as IQueryable<JS_Country>;
}
XXX.getCountries(new TBullionDbEntities().JS_Country);
[/quote]
从语法的角度解决不了,不等于说你写不出程序。
一个是,你需要人工定义那些本来作为匿名类型的类型。另一个是,你可以返回List<object>,在主程序中用dynamic类型接收(C# 4.0+这样最简单),或者用object类型接收并且反射。还有就是将Select的过程交给调用者自己做,用委托传入,这样绕开了返回一个匿名类型这个问题了。
MarshalAsAttribute a = new MarshalAsAttribute();
IQueryable<MarshalAsAttribute> c = a.getList();
[/quote]
额 发现你这个不行 我是用父类去实例化子类 你这个都静态的了 毋须实例化了 我怎么调用子类哦。。
MarshalAsAttribute a = new MarshalAsAttribute();
IQueryable<MarshalAsAttribute> c = a.getList();
[/quote]
你这个方法初步看来符合我的要求 待我试试能否使用