2012-07-24 4 views
1

C# : 다른 사용자 정의 클래스의 목록으로 컬렉션 클래스를 만들려고하지만 객체를 추가하려고하면 객체의 인스턴스로 설정되지 않습니다. 주요 개체에.목록을 사용하여 사용자 정의 컬렉션 클래스를 만들려고합니다. <>

다음
namespace ConsoleApplication2 
{ 

    public class Monthlst 
    { 
     public List<Monday> Monday { get; set; } 
     public List<Tuesday> Tuesday { get; set; } 
     public List<Wednesday> Wednesday { get; set; } 
     public List<Thursday> Thursday { get; set; } 
     public List<Friday> Friday { get; set; } 
     public List<Saturday> Saturday { get; set; } 
     public List<Sunday> Sunday { get; set; } 

    } 
    public class Monday 
    { 
     public int days { get; set; } 
    } 
    public class Tuesday 
    { 
     public int days { get; set; } 
    } 
    public class Wednesday 
    { 
     public int days { get; set; } 
    } 
    public class Thursday 
    { 
     public int days { get; set; } 
    } 
    public class Friday 
    { 
     public int days { get; set; } 
    } 
    public class Saturday 
    { 
     public int days { get; set; } 
    } 
    public class Sunday 
    { 
     public int days { get; set; } 
    } 
    class Program 
    { 


     static void Main(string[] args) 
     { 

      Monthlst objmonth = new Monthlst(); 
      Wednesday wednes = new Wednesday(); 
      wednes.days = 5; 
      objmonth.Wednesday.Add(wednes); // here i am getting error object not set to.... 
     } 
    } 
} 

난 그냥 내 Monthlst의 주요 방법 클래스와 Monthlst 개체의 목록 속성에 수요일 클래스의 객체의 인스턴스를 생성하고 있지만 보여 왜 제가 잘 모릅니다 오류가 있습니다 : 여기 내 C# 코드입니다 내가 나 설명해주십시오없는 일을하고 어떤 잘못된 일 ....

감사합니다, 주권

답변

2

예, 당신이 당신의 속성을 초기화 아닙니다. 구성 후 속성은 모두 null이됩니다. 추가하기 전에 목록을 만들어야합니다. 예를 들어 :

또는
Monthlst objmonth = new Monthlst(); 
objmonth.Wednesday = new List<Wednesday>(); 
Wednesday wednes = new Wednesday(); 
wednes.days = 5; 
objmonth.Wednesday.Add(wednes); 

Monthlst의 생성자 모든 속성을 초기화합니다.

그 외에도 다양한 디자인으로 다소 디자인이 바뀌었지만 다른 문제입니다.

0

Wednesday 목록 항목을 초기화하십시오. 코드는 다음과 같아야합니다.

public class Monthlst 
{ 
    public Monthlst() 
    { 
     Monday = new List<Monday>(); 
     Tuesday = new List<Tuesday>(); 
     Wednesday = new List<Wednesday>(); 
     Thursday = new List<Thursday>(); 
     Friday = new List<Friday>(); 
     Saturday = new List<Saturday>(); 
     Sunday = new List<Sunday>(); 
    } 
    public List<Monday> Monday { get; set; } 
    public List<Tuesday> Tuesday { get; set; } 
    public List<Wednesday> Wednesday { get; set; } 
    public List<Thursday> Thursday { get; set; } 
    public List<Friday> Friday { get; set; } 
    public List<Saturday> Saturday { get; set; } 
    public List<Sunday> Sunday { get; set; } 

} 
public class Monday 
{ 
    public int days { get; set; } 
} 
public class Tuesday 
{ 
    public int days { get; set; } 
} 
public class Wednesday 
{ 
    public int days { get; set; } 
} 
public class Thursday 
{ 
    public int days { get; set; } 
} 
public class Friday 
{ 
    public int days { get; set; } 
} 
public class Saturday 
{ 
    public int days { get; set; } 
} 
public class Sunday 
{ 
    public int days { get; set; } 
} 
class Program 
{ 
    static void Main(string[] args) 
    { 
     var objmonth = new Monthlst(); 
     var wednes = new Wednesday {days = 5}; 
     objmonth.Wednesday.Add(wednes); 
    } 
} 
관련 문제