Допустим, у меня есть форма, которая имеет следующее:
Имя:TextBox
Электронная почта:TextBox
Возраст:TextBox
теперь я хочу получить коллекцию клиентов на основе этого текстового поля фильтра
поэтому я хочу использовать что-то вроде:
List<customer> customers = getCustomerswhere(c=>c.name == txtName.Text && Email == txtEmail.Text);
теперь, конечно, я не знаю, что он заполнит, а что нет.
if (txtName.Text.trim() != "")
//something like c=>c.Name == txtName.text;
if (txtEmail.Text.trim() != "")
//something like and c=>c.Email == txtEmail.text;
Как мне это сделать ! я не могу конкатенировать лямбда-выражения, я знаю, что могу использовать динамические выражения, но я думаю, что есть более простой способ? есть идеи, как это реализовать?
хорошо, я пробовал это:
Func<Customer,bool > a = (bb) => bb.fullName == "asdfsd";
Func<Customer, bool> b = c => c.lastName == "sdas";
Func<Customer, bool> cc = c => a(c) && b(c);
теперь другая проблема
метод, которому я передаю CC, ожидает Expression<Func<T, bool>> expression
так что это не работает, дает мне ошибку времени компиляции, не могу конвертировать между типами!