Как избавиться от этого недопустимого исключения приведения?
Итак, я постоянно работаю над своим маленьким проектом с большим или меньшим успехом, но оказываюсь перед проблемой, которую, по-видимому, не могу решить самостоятельно. Я получаю исключение InvalidCastException, когда я в основном просто повторно использую функцию, которая уже работает.
Что я уже пробовал:
var c = (customerDB)comboBox1.SelectedItem; newContact.Name = textBox_Contact_Name.Text.Trim(); newContact.Vorname = textbox_Contact_Firstname.Text.Trim(); newContact.FKKunde = c.PKCustomer; db.Contacts.Add(newContact); db.SaveChanges(); Close();
Приведенный выше код-это фрагмент кода, который работает, а ниже-тот, который не работает.
var b = (TArticle)comboBox_Article.SelectedItem; TPosition newPosition = new TPosition(); newPosition.FKArticle = b.PKArticle; newPosition.Quantity = (int)numericUpDown_Menge.Value; newPosition.Position = textBox_Position.Text; db.TPosition.Add(newPosition); db.SaveChanges(); Close();
Мне кажется, что это то же самое, но второй не работает должным образом. Исключение создается при объявлении var b.
Maciej Los
Проверьте, какой тип объекта хранится в comboBox_Article.SelectedItem
.
var b = comboBox_Article.SelectedItem; if(typeof(TArticle)==b.GetType()) { //further instructions }
Я почти уверен, что
comboBox_Article.SelectedItem
это тип объекта (или null).