Вы можете создать дерево выражений из лямбда-выражения , а затем скомпилировать его в функцию, которую затем можно вызывать с аргументами strlist
и somevalue
, например:
var strlist = new List<string> { "one", "two", "three" };
var somevalue = "two";
Expression<Func<List<string>, string, bool>> expression = (list, value) =>
list.Exists(item => item == value);
Func<List<string>, string, bool> exists = expression.Compile();
bool result = exists(strlist, somevalue);
Или вы можете сделать все это в одной строке, но это немного сложно прочитать:
var exists = ((Expression<Func<List<string>, string, bool>>)
((list, value) => list.Exists(item => item == value))).Compile();
Но, в конце концов, не проще ли сделать:
bool result = strlist.Contains(somevalue);