2016-07-15 2 views
-2

NullReferenceException의 대부분의 경우 초기화 누락으로 인해 발생합니다. 그러나 나는 MTemp와 FTemp를 초기화했다.다음 코드가 NullReferenceException을 던지는 이유는 무엇입니까?

내가 무엇이 누락 되었습니까?


클래스 "푸"내부

중요 코드 : 모토 라드 내부

class Team 
{ 
    public List<Fahrer> TeamFahrer { get; set; } 

    public void Bar(string salad, string hotdog, string brokkoli) 
    { 
     Motorrad MTemp = new Motorrad(brokkoli); 
     Fahrer FTemp = new Fahrer(salad, hotdog, MTemp); 
     TeamFahrer.Add(FTemp); 
    } 
} 

중요 코드 : Fahrer 내부

class Motorrad 
{ 
    public Motorrad(string marke) 
    { 
     Marke = marke; 
    } 

    public string Marke { get; set; } 
} 

중요 코드 :

클래스의 생성자에서
class Fahrer 
{ 
    public Fahrer(string salad, string hotdog, Motorrad moped) 
    { 
     Vorname = salad; 
     Nachname = hotdog; 
     MotorradDesFahrers = moped; 
    } 

    public string Vorname { get; set; } 
    public string Nachname { get; set; } 
    public Motorrad MotorradDesFahrers { get; set; } 
} 
+1

'TeamFahrer'를 초기화 하시겠습니까? –

+0

TeamFahrer를 초기화하지 않았습니다. "Add"를 호출하기 전에 TeamFahrer = new List를 호출해야합니다. (); – Mangist

+1

예외에 대한 정보가 누락되었습니다. 이미 중복으로 제안 된 "NRE 수정 방법"질문을 읽은 후 디버깅을 위해 취한 조치는 없습니다. (나는 이것이 단지 가난하게 연구 된 질문이라고 생각한다. 그래서 아직 닫지 않고 그냥 투표 만하지 말자.) –

답변

0
class Team 
{ 
    public List<Fahrer> TeamFahrer { get; set; } 
    public Team() 
    { 
    TeamFahrer = new List<Fahrer>(); 
    } 
} 

6,초기화 TeamFahrer.

+0

고마워요! 나는 끝까지 잘못 찾았다! –

+0

@AlexHeld 귀하의 질의가 해결 된 경우 답을 표시하십시오. 그것은 다른 개발자가 답이없는 다른 질문을 조사 할 시간을 절약합니다. –

관련 문제