Interface IAlgorithmT
Contents
[
Hide
]IAlgorithm<T> interface
Represents an algorithm that can be applied to a list of objects T.
public interface IAlgorithm<in T>
Parameter | Description |
---|---|
T | The type of object to apply method interface to. |
Methods
Name | Description |
---|---|
Alg(T, int) | Processes an object in the list. Called after PreAlg ; |
PostAlg(T, int) | Called after processing of an object. |
PreAlg(T, int) | Called before processing of an object. |
Examples
Shows how to work with list util Apply method.
public void WorkWithListUtilsApply()
{
var project = new Project(DataDir + "Project2003.mpp");
List<Filter> filters = project.TaskFilters.ToList();
Assert.AreEqual(3, filters.Count, "Project.TaskFilters count");
ListUtils.Apply(filters, new RenameAlgorithm(), 0);
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);
Console.WriteLine();
}
}
private class RenameAlgorithm : IAlgorithm<Filter>
{
private int current;
public RenameAlgorithm()
{
this.current = 0;
}
public void PreAlg(Filter el, int index)
{
this.current++;
}
public void Alg(Filter el, int index)
{
el.Name = el.Name + " " + this.current;
}
public void PostAlg(Filter el, int index)
{
}
}
See Also
- namespace Aspose.Tasks.Util
- assembly Aspose.Tasks