Tôi đang cố gắng để gọi một chức năng trong một tuyên bố chọn LINQ năng động, nhưng im nhận được lỗi:Gọi hàm trong LINQ động
No property or field 'A' exists in type 'Tuple2'
Ví dụ mã:
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++;
}
}
Làm thế nào tôi nên thay đổi của tôi mã để làm việc này?
Nếu tôi gọi hàm dựng sẵn Convert.ToInt32
chẳng hạn như nó hoạt động tốt.
var q = b.AsQueryable().Select("Convert.ToInt32(it.Item1)");
Ngoài ra làm cách nào để truyền thuộc tính bằng LINQ động?
var q = b.AsQueryable().Select("((float)it.Item1)");
Cú pháp nào là nơi bạn sử dụng một chuỗi trong phương thức 'Enumerable.Select'? –
@Bob. Được viết trong các thẻ: dynamic-linq – xanatos