Работа с расширениями List <String>и Reactive - PullRequest
2 голосов
/ 09 июля 2011

Я начал исследовать Reactive extensions и хотел бы знать, как сделать следующее (постараюсь сделать это проще):

  1. Есть список строк (или любой другойтип)

  2. Когда элемент добавлен в указанный список, сделайте с ним что-нибудь.

Ответы [ 3 ]

8 голосов
/ 09 июля 2011

Вы не можете сделать это с существующим классом List<String> - он не предоставляет уведомления, и с этим ничего не поделать.

Возможно, вы захотите взглянуть на ObservableCollection<T>.

6 голосов
/ 10 июля 2011

Get ReactiveUI , затем вы можете использовать класс ReactiveCollection - тогда вы можете использовать ItemsAdded Observable.

ReactiveCollection<int> someCollection;

someCollection.ItemsAdded
    .Where(x => x > 100)
    .Subscribe(x => Console.WriteLine("Whoa! A big item was added!"));
1 голос
/ 10 июля 2011

Если у вас есть List<T> или действительно какая-либо коллекция, которая реализует IEnumerable, тогда Rx не является ответом.Но если у вас есть последовательность элементов, некоторые из которых еще не существуют, то, безусловно, Rx - хорошее решение.

...