Свойство Filter
не может быть установлено иначе, чем Predicate<object>
, то есть метод, который принимает object
и возвращает bool
, но вы можете получить любые значения, которые вы хотите в методе.
Таким образом, вместо попытки передать что-то методу, вы можете определить string
как член того же класса, в котором определен Predicate<object>
, и получить его оттуда, например:
public string Gender { get; set; } = "male";
private bool ShowMale(object pr)
{
if (pr == null) return false;
Customer c = pr as Customer;
return c.Gender == this.Gender;
}
В приведенном выше примере вы, конечно, можете связать свойство Gender
с элементом управления в представлении, которое динамически устанавливает его значение.