Próbuję wywołać funkcję w dynamicznym linq select, ale im się błąd:funkcja połączeń w dynamicznym LINQ
No property or field 'A' exists in type 'Tuple2'
Przykładowy kod:
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++;
}
}
Jak mogę zmienić kod, aby to działało?
Jeśli na przykład zadzwonię do wbudowanej funkcji Convert.ToInt32
, to działa poprawnie.
var q = b.AsQueryable().Select("Convert.ToInt32(it.Item1)");
Również w jaki sposób rzutować właściwość za pomocą dynamicznego linq?
var q = b.AsQueryable().Select("((float)it.Item1)");
Jaka jest składnia w przypadku użycia ciągu znaków w metodzie "Enumerable.Select"? –
@Bob. Napisane w tagach: dynamic-linq – xanatos