0
以下是我做了多少。我需要發送Expression<Func<T, string>>
作爲參數而不是Func<T,string>
到Get函數,並且仍然有Select()工作。這很容易嗎?這是格式爲LinqPad。C#如何將<T>和Expression <Func <T, string>>選擇器轉換爲T.Select(選擇器)?
void Main()
{
// Setup sample data in wholelist
var wholelist = new List<Example>();
for (var a = 0; a < 10; a++)
{ var t = new Example { id = a.ToString(), name = a.ToString() };
wholelist.Add(t);
}
// Do the real work
var names = Get<Example>(wholelist, p => p.name);
// LinqPad shows content
names.Dump();
}
public class Example
{
public string id {get;set;}
public string name {get;set;}
}
public static List<string>
Get<T>(IEnumerable<T> source, Func<T, string> selector)
{
var list = source.Select<T,string>(selector).ToList();
return list;
}
的原因是因爲我們有很多已經調用此一個與Expression<Func<T,string>>
功能。
太棒了。我知道這一定很簡單。 – 2011-12-16 17:28:42