Sunday, 15 May 2011

c# - Changing argument in MethodCallExpression -



c# - Changing argument in MethodCallExpression -

i have look query targeted iqueryable<webmessagedto>. in look visitor i'm replacing queryable source iqueryable<webmessage>. when query executes i'm getting exception:

expression of type 'webmessage' cannot used parameter of type 'webmessagedto' of method 'int32 count[webmessagedto](webmessagedto])'

can replace class types in expression? webmessage , webmessagedto have same fields.

the thought handle query webmessagedto, execute on webmessage datasource, convert result webmessagedto , homecoming it.

i've tried alter arguments in methodcallexpression got exceptions...

protected override look visitmethodcall(methodcallexpression node) { if (node.method.name == "count") { //expression.convert(node.arguments[0], typeof(webmessage)); //list<constantexpression> newargs = new list<constantexpression>() //{ // expression.constant(typeof(webmessage) //}; // //node.update(node.object, newargs); } homecoming node; }

c# iqueryable linq-expressions

No comments:

Post a Comment