Можно ли бросить переменная тип: словарь и Л;int, модели.пользователь> в словарь и Л;int, Объект> В языке C#?
Всем привет. Я работаю над приложением на языке c#, где у меня есть около 15 методов, которые обновляют записи в базе данных. Поэтому я хочу сделать один метод для обновления с двумя параметрами: Dictionary<int, object> dictionary и string tableName. Объектная часть словаря будет принимать различные модели представления. Вот мой код:
public void UpdateEntriesFromAGivenTable(Dictionary<int, object> dictionary, string tableName) { foreach (KeyValuePair<int, object> entry in dictionary) { Dictionary<string, object> dict = GetTypeNamesAndValuesWithReflection(entry.Value); foreach (var item in dict) { if (item.Value != null && (!string.Equals(item.Key, "id"))) { UpdateEntry(tableName, item.Key, item.Value, entry.Key); } } } }
Но когда я попытался использовать описанный выше метод, я получил красное подчеркивание под параметром "Dictionary<int, user>" и сообщение об ошибке: не удается преобразовать из 'System.Коллекции.Generic.Dictionary<int, Models.Пользователь> к 'системе.Коллекции.Generic.Dictionary<int, object>.
Что я уже пробовал:
Я попробовал следующий бросок:
(Словарь<int, Объект>)(пользователи)
но безуспешно. Я искал помощь в google и stackoverflow, но не нашел подобной проблемы. Итак, не могли бы вы сказать мне, можно ли привести переменную типа: Dictionary<int, Models.User> to Dictionary<int, object> И если ответ да, то как это сделать? Спасибо.