У меня есть пустой список с моделями типа 'audi_b9_aismura', которые я хочу заполнить объектом, который я получаю из другого списка.C# convert from object to model type
Я знаю, что этот объект имеет указанный тип (audi_b9_aismura), но я не могу добавить его в список, используя Convert.Changetype тоже не работает. Код ниже бросает (во время разработки) следующую ошибку: Невозможно преобразовать из «объекта» в «.audi_B9_aismura».
List<audi_b9_aismura> dataList = new List<audi_b9_aismura>();
if (obj.GetType().Equals(typeof(audi_b9_aismura)))
{
dataList.Add(Convert.ChangeType(obj, typeof(audi_b9_aismura)));
}
Я также пробовал, что тоже не работает.
audi_b9_aismura testVar = Convert.ChangeType(obj, typeof(audi_b9_aismura));
И, что преобразует его в порядке, но при добавлении его снова говорится, что это объект типа.
var testVar = Convert.ChangeType(obj, typeof(audi_b9_aismura));
dataList.Add(testVar);
Если я получить тип объекта, заполнив его в строку, он возвращает правильный тип (audi_b9_aismura)
string result = Convert.ChangeType(obj, typeof(audi_b9_aismura)).GetType().ToString();
'Convert.ChangeType()' возвращает объект, вам все равно нужно отдать его правильному типу, так как кастинг - это ВСЕ, что вам нужно сделать в этом случае, 'Convert.ChangeType' не имеет никакой цели. –
Если вы просто хотите бросать предметы из одного типа в другой, вы можете использовать операторы LINQ Cast <> или OfType <> –
Мне кажется странным, что результат строки заполняется правильным типом. Я новичок в программировании на C#, поэтому, вероятно, я ошибаюсь, но если я извлечу тип из «объекта», и он настроен на тип (audi_b9_aismura), который я хочу, то почему он не настроен на тип, когда Я пытаюсь заполнить переменную этим? – DaGrooveNL