我知道我不能写一个像这样的方法:
public var MyMethod()
{
return new{ Property1 = "test", Property2="test"};
}
Run Code Online (Sandbox Code Playgroud)
我可以这样做:
public object MyMethod()
{
return new{ Property1 = "test", Property2="test"}
}
Run Code Online (Sandbox Code Playgroud)
但我不想做第二种选择,因为如果我这样做,我将不得不使用反射.
为什么我要这样做:
今天我在我的aspx页面中有一个方法返回一个数据表作为结果而我无法更改它,我试图将此DataTable转换为具有我想要使用的属性的Anonymous方法.我不想创建一个类只是为了这样做,因为我需要多次执行相同的查询,我想创建一个返回匿名类型的方法将是一个很好的意识形态.
我想使用表达式树动态生成以下select语句:
var v = from c in Countries
where c.City == "London"
select new {c.Name, c.Population};
Run Code Online (Sandbox Code Playgroud)
我已经研究出如何生成
var v = from c in Countries
where c.City == "London"
select new {c.Name};
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到一个构造函数/重载,让我在select lambda中指定多个属性.