У меня есть класс, который является частью слоя ViewModel в приложении WPF C#. Происходит ошибка при создании нового объекта ObservableCollection и назначении его для this.AllPositions. Ошибка указывает, что ObservableCollection имеет некоторые недопустимые аргументы. Всплывающая подсказка для ObservableCollection указывает, что она имеет три перегруженных конструктора. Первый не получает никаких параметров. Второй принимает параметр IEnumberable<Dictionary<string,string>> collection
. Третий получает List<Dictionary<string,string>> list
параметр. Я пробовал множество вариаций _pRepo.GetPositions(). AsEnumerable и _pRepo.GetPositions(). ToList, но, похоже, не может сделать компилятор счастливым.ObservableCollection - недопустимые аргументы
Любая помощь была бы принята с благодарностью. Благодаря!
Edit: _pRepo.GetPositions() возвращает Systems.Collections.Generic.Dictionary<string, string>
и точная ошибка Аргумент 1: не удается преобразовать из 'System.Collections.Generic.Dictionary' до 'System.Collections.Generic.IEnumerable>'
public class MalfunctionInputVM : ViewModelBase {
readonly PositionRepository _pRepo;
public ObservableCollection<Dictionary<string, string>> AllPositions {
get;
private set;
}
public MalfunctionInputVM(PositionRepository pRepo) {
if (pRepo == null)
throw new ArgumentNullException("pRepo");
_pRepo = pRepo;
// Invalid arguments error occurs here...
this.AllPositions = new ObservableCollection<Dictionary<string, string>>(_pRepo.GetPositions());
}
}
Что делает '_pRepo.GetPositions()' метод возврата? – Nico
Можете ли вы добавить точное сообщение об ошибке на свой вопрос – Alex
Какая ошибка исключения/компилятора? – alu