我已經查詢過關於SO的問題,但找不到解決方案。將LINQ查詢傳遞給方法來動態地選擇表單集合
在我的程序中是一個類,其唯一原因是從通過構造函數傳遞給它的數據集合中進行選擇。 我需要的是將LINQ查詢傳遞給選擇方法以從所述數據中進行選擇。但是我沒有解決我的問題的運氣。 下面是代碼:
public class ServiceClient<TInput>
{
private readonly IEnumerable<TInput> data;
public ServiceClient(IEnumerable<TInput> dataInput)
{
this.data = dataInput;
}
public TResult Send<TResult>(Func<IEnumerable<TInput>, TResult> selector)
{
var selectedData = this.data.Select(selector); // How to do the selection here???
// ...
}
}
類被稱爲是這樣的:
private static void Main(string[] args)
{
var persons = new List<Person>
{
new Person { Id = 0, FamilyId = 0 },
new Person { Id = 1, FamilyId = 0 },
new Person { Id = 2, FamilyId = 1 }
};
var func = new Func<IEnumerable<Person>, Person>(Target);
var client = new ServiceClient<Person>(persons);
client.Send(func);
}
private static Person Target(IEnumerable<Person> enumerable)
{
return enumerable.SingleOrDefault(p => p.Id == 0);
}
嗯,這很容易。似乎我必須更熟悉funcs關於該主題的任何好建議? – Ruhrpottpatriot 2015-03-13 15:34:49
我向你推薦一本好書:http://www.amazon.com/Programming-Microsoft%C2%AE-PRO-Developer-Paolo-Pialorsi/dp/0735624003我讀過它,發現非常有用。 – 2015-03-14 06:00:45
會試試看,謝謝。 – Ruhrpottpatriot 2015-03-14 19:16:15