我正在尝试在动态 linq select 语句中调用函数,但出现错误:
No property or field 'A' exists in type 'Tuple2'
示例代码:
void Main()
{
var a = new Tuple<int, int>(1,1);
var b = new[]{ a };
var q = b.AsQueryable().Select("A.Test(it.Item1)");
q.Dump();
}
public static class A
{
public static int Test(int i)
{
return i++;
}
}
我应该如何更改我的代码以使其正常工作?
例如,如果我调用内置函数Convert.ToInt32
,它可以正常工作。
var q = b.AsQueryable().Select("Convert.ToInt32(it.Item1)");
另外,如何使用动态 linq 转换属性?
var q = b.AsQueryable().Select("((float)it.Item1)");