by mark shiffer
10. August 2010 14:40
Ran across an interesting new library called Observal that uses a fluent coding model to track items in deep hierarchical object models. The following extension methods are currently provided:
Resulting in code that looks like:
public OrgChartViewModel(IEnumerable<Employee> employees)
{
_rootEmployees = new ObservableCollection<Employee>(employees);
var observer = new Observer();
observer.Extend(new TraverseExtension()).Follow<Employee>(e => e.DirectReports);
observer.Extend(new CollectionExpansionExtension());
observer.Extend(new PropertyChangedExtension()).WhenPropertyChanges<Employee>(x => FilterEmployee(x.Source));
observer.Extend(new ItemsChangedExtension()).WhenAdded<Employee>(FilterEmployee);
observer.Add(_rootEmployees);
}
I could see some potential for usefulness here…
ca34d0ef-e06e-4dcb-a420-e30303a01913|0|.0
Tags: