2015-06-15 2 views
-2
public class StudentNames : INotifyPropertyChanged 
{ 
    string firstname 
    string surname 

    public string FirstName 
    { 
     get 
     { 
      return firstname; 
     } 
     set 
     { 
      if (firstname != value) 
      { 
       firstname = value; 
       OnPropertyChanged("FirstName"); 
      } 
     } 
    } 

    public string Surname 
    { 
     get 
     { 
      return surname 
     } 
     set 
     { 
      if (surname != value) 
      { 
       surname = value; 
       OnPropertyChanged("Surname"); 
      } 
     } 
    } 
} 

public class StudentDetails : INotifyPropertyChanged 
{ 
    string address StudentNames sn 

    public string SN 
    { 
     get 
     { 
      return sn; 
     } 
     set 
     { 
      if (sn != value) 
      { 
       sn = value; 
       OnPropertyChanged("SN"); 
      } 
     } 
    } 

    public string Address 
    { 
     get 
     { 
      return address; 
     } 
     set 
     { 
      if (address != value) 
      { 
       address = value; 
       OnPropertyChanged("Address"); 
      } 
     } 
    } 
} 

в другом месте у меня есть логика:C# WPF Тип другой класс

StudentDetails sd = new StudentDetails() 
sd.StudentNames.FirstName = "John"//this part gives me a runtime error 

Он компилирует, но я получаю сообщение об ошибке выполнения:

«ссылка на объект не указывает на экземпляр объект «.

+0

'sn' является' строкой' или экземпляром 'StudentNames'? Это не понятно. Пожалуйста, отформатируйте и исправьте свой код. – Kryptos

ответ

1

Ваш публичный конструктор должен выглядеть следующим образом:

public StudentDetails() { 
    StudentNames = new StudentNames(); 
} 

Вы получили ошибку, потому что вы не установили ссылку на объект поля StudentNames. Затем вы можете сделать

var sd = new StudentDetails(): 
sd.StudentNames.FirstName = "John" 

Кроме того, в следующий раз, вы должны лучше добавить полный код класса.

+0

... В следующий раз OP должен сначала выполнить поиск, что даст хорошо известный вопрос: http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -Это. Затем OP должен следовать одному предложению, в котором говорится: используйте отладчик ... извините за то, что вы немного циничны. –

+0

np, вы правы) – ivamax9

Смежные вопросы