Проверка коллекций в отладчике JetBrains Rider с использованием функций Linq, таких как Select / Where

Отлаживаю довольно большой скрипт VB.net в Rider. Создано несколько объектов Dictionary и List, и я хочу проверить их в отладчике с помощью Evaluate Expression и запросить их с помощью функций Linq, таких как Select и Where.

В JetBrains Rider, установив точку останова и открыв Evaluate Expression, я могу просматривать объекты, но при попытке запустить на них любую функцию все, что я получаю, это такие сообщения:

Выражение: GroupedProducts.Where(p => p.Key == "1234567").ToList()

Результат: 'Dictionary<string, string>' does not contain a definition for 'Where' and no accessible extension method 'Where' accepting a first argument of type 'Dictionary<string, string>' could be found (are you missing a using directive or an assembly reference?)

Здесь объект GroupedProducts относится к типу Dictionary<string, string>, но предложения автозаполнения в Evaluate Expression, похоже, используют только методы Object.

Что-то мне не хватает? Я установил JetBrains в качестве отладчика по умолчанию, но это ничего не помогло. Любые предложения приветствуются.

.Net SDK: пакет разработчика .Net Framework v4.7
Версия Rider: 2019.3.1
ОС: Windows 10 Professional


person MacHeath    schedule 03.02.2020    source источник


Ответы (1)


Я столкнулся с той же проблемой, но иногда выражения все равно оценивались! Попробуйте использовать Enumerable.Where(GroupedProducts, predicate) вместо GroupedProducts.Where(predicate) в окне оценки.

person Artem Popov    schedule 17.09.2020