Есть база данных и WPF приложение. Хочу на странице добавить в базу данных новую строку, но при проверке на заполненность полей происходит ошибка, "Ссылка на объект не указывает на экземпляр объекта". При этом в идентичном проекте с таким же кодом всё работает.
private ReaderCard currentReader = new ReaderCard();
public ReaderCardEdit(ReaderCard selectedReaderCard)
{
InitializeComponent();
if (currentReader != null)
{
currentReader = selectedReaderCard;
}
DataContext = currentReader;
}
private void btnBack_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.GoBack();
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
StringBuilder errors = new StringBuilder();
if (string.IsNullOrEmpty(currentReader.LastName))
{
errors.Append("Введите фамилию \n");
}
if (string.IsNullOrEmpty(currentReader.FirstName))
{
errors.Append("Введите имя \n");
}
if (string.IsNullOrEmpty(currentReader.Address))
{
errors.Append("Введите адрес");
}
if (string.IsNullOrEmpty(currentReader.Phone))
{
errors.Append("Введите телефон \n");
}
if (string.IsNullOrEmpty(currentReader.DateOfBirth.ToString()))
{
errors.Append("Введите дату рождения");
}
}
Таблица с читателями называется ReaderCard. Скрин ошибки прикрепляю.

ReaderCardEditвыглядит подозрительно. Либо проверяется не то, либо присваивается не то (либо и то и другое). Очень странно проверять что-то что оно неnull, а потом присваивать не то, что проверялось, в другую переменную, а наоборот тому, что проверялось, что-то присваивать в случае, если оно неnull. Вангую, что вselectedReaderCardу васnull, а вы это не проверяете и вcurrentReaderоказывается тожеnullв результате. (Изначально там неnull, аnew ReaderCard(), поэтому условие срабатывает.) – CrazyElf Mar 13 '23 at 15:04