我有一个Query Extender,它有一个CustomExpression,我想用它来对我的数据源进行一些过滤。
这是在DynamicData网站中,所以我不知道编译时的对象类型(当前实体)。假设我在编译时知道对象类型,那么我可以这样做:
protected void GameFiltering(object sender, CustomExpressionEventArgs e)
{
e.Query = e.Query.Cast<Resource>().Where(x => x.GameId == GameId);
}
我可以从e.Query.ElementType
获得我需要的类型。现在我只是将ElementType作为泛型参数发送到Cast方法,然后调用linq方法Where。
我会假设每个Type都有一个GameId属性,我想要过滤它。
MethodInfo method = e.Query.GetType().GetMethod("Cast").MakeGenericMethod(new Type[] { e.Query.ElementType });
var castedQuery = method.Invoke(e.Query, null);
这是我用反射调用cast方法的方法,但我不知道如何在结果对象上调用linq方法。
答案 0 :(得分:1)
如果您认为所有物品都具有该属性,则无需投射它们。
app.post('/xyz',function(request,response)
{
var IPFromRequest=request.connection.remoteAddress;
var indexOfColon = IPFromRequest.lastIndexOf(':');
var IP = IPFromRequest.substring(indexOfColon+1,IPFromRequest.length);
console.log(IP);
});