Ошибка linqpad при использовании расширений Rx Reactive в c # - PullRequest
3 голосов
/ 11 июня 2011

Что я делаю не так? Я только что скачал последнюю версию Rx SDK, установлен. Используя vs 2010, в .net 4 были все последние sp / обновления и т. Д. Скачал / установил linqpad, Добавил ссылку на реактивную dll, как показано на прикрепленном скриншоте. Добавил одну строку, как показано в демоверсии linqpad, но при запуске выдает ошибку. Пожалуйста, порекомендуйте. Щелкните правой кнопкой мыши на изображение и просмотрите изображение для четкого просмотра.

спасибо

enter image description here

Ответы [ 2 ]

8 голосов
/ 11 июня 2011

Загрузка на домашней странице Rx на самом деле не самая последняя версия Rx SDK.Последний выпуск находится на сайте Reactive Extensions Blog и в настоящее время Рождество 2010 Май 2011 Выпуск в июне 2011 .

В используемой версии класс Observable находится в пространстве имен System.Reactive.Linq (а не в пространстве имен System.Linq).Снова нажмите F4 и введите System.Reactive.Linq в «Дополнительный импорт пространства имен».(Или, если у вас есть автозаполнение, появится смарт-тег и выполнит эту работу за вас.)

Это позволит вам запустить Rx в LINQPad.Вызов .Dump () для наблюдаемой является неблокируемой, поэтому вы можете сбросить сразу несколько наблюдаемых.

Например:

Observable.Interval(TimeSpan.FromSeconds(1)).Take(5).Dump("1 second");
Observable.Interval(TimeSpan.FromSeconds(.5)).Take(5).Dump(".5 second");

Результат:

.5 second → 0
1 second → 0
.5 second → 1
.5 second → 2
1 second → 1
.5 second → 3
.5 second → 4
1 second → 2
1 second → 3
1 second → 4

Запрос завершится, когда закончатся все наблюдаемые (или вы нажмете Отмена).

Чтобы выполнить другой реактивный запрос, нажмите Ctrl + Shift + N .Это создает новый запрос с такими же свойствами (ссылки, импорт пространства имен и т. Д.).Другой способ, если у вас есть автозаполнение, это нажать «Сохранить как фрагмент» после добавления импорта сборки / пространства имен.Затем всякий раз, когда вы набираете ярлык (например, «rx») и нажимаете tab, ссылки и пространства имен будут добавляться автоматически.

2 голосов
/ 11 июня 2011

Переключитесь на другую вкладку в диалоговом окне и добавьте System.Reactive и System.Reactive.Linq в список пространств имен

...