Допустим, у меня есть форма, которая имеет следующее:
Имя: TextBox
E-mail: 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
, так что это не работает, дает мне ошибку времени компиляции, я не могу конвертировать между типами!