Я уже рассмотрел вопрос о 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);
}
Ну, это было легко. Кажется, мне нужно больше узнать о функциях любой хорошей рекомендации по этой теме? – Ruhrpottpatriot
Я рекомендую вам приятную книгу: http://www.amazon.com/Programming-Microsoft%C2%AE-PRO-Developer-Paolo-Pialorsi/dp/0735624003 Я ее прочитал и нашел очень полезным. –
попробует это благодаря. – Ruhrpottpatriot