Skip to content
Adelhard Schulze edited this page Apr 13, 2022 · 5 revisions

Stand With Ukraine

Dynamic data is reactive collections.

It provides an observable list and an observable cache which have a large number of operators. These operators allow the fluent composition of complex functionality which takes the pain out of the asynchronous management of collections. This is achieved because when a source collection changes the operators self-maintain.

To illustrate it's usage, the following example takes an observable list, calls Connect() which makes it into an observable, filters on pensioners, sorts them and creates a new self maintaining observable list.

var people = new SourceList<People>();

var oldPeople = people .Connect()
    .Filter(person => person.Age > 65)
    .Sort(SortExpressionComparer<Person>.Ascending(p => p.Age).ThenByAscending(p=>p.Name))
    .AsObservableList();

At any time people can be amended and the rest takes care of itself.

So far very easy and it is. But as I said there are loads of operators. Even without counting overloads, the observable cache has over 60 operators and the observable list has over 40 operators so there is loads to learn but each thing you learn can save you countless lines of code when maintaining collections.

If you want to know more, here are some links

If you prefer to see dynamic data in action