ICondition<T> interface

Represents a condition which can be used by filters or search methods.

public interface ICondition<in T>
TThe type of object to apply method interface to.


Check(T)Returns true if the specified object satisfy the conditions.


Shows how to work with list util Filter method.

public void WorkWithListUtilsFilter()
    var project = new Project(DataDir + "Project2003.mpp");
    List<Filter> filters = project.TaskFilters.ToList();

    Assert.AreEqual(3, filters.Count, "Project.TaskFilters count");

    ListUtils.Filter(filters, new FilterByIndex(1));

    foreach (var filter in filters)
        Console.WriteLine("Name: " + filter.Name);
        Console.WriteLine("Filter Type: " + filter.FilterType);
        Console.WriteLine("Show In Menu: " + filter.ShowInMenu);
        Console.WriteLine("Show Related Summary Rows: " + filter.ShowRelatedSummaryRows);

public class FilterByIndex : ICondition<Filter>
    private readonly int index;

    public FilterByIndex(int index)
        this.index = index;

    /// <summary>
    /// Returns true if the specified object satisfy the conditions.
    /// </summary>
    /// <param name="el">The object to check.</param>
    /// <returns>True if the object satisfy the conditions.</returns>
    /// <inheritdoc />
    public bool Check(Filter el)
        return el.Index == this.index;

See Also