2012-07-24 8 views
1

C#: Я пытаюсь создать класс коллекции со списком какого-либо другого пользовательского класса, но он показывает объект, не установленный как экземпляр объекта, когда я пытаюсь добавить объект в основном объекте. Вот мой 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, но почему он показывает мне ошибку я не знаю Есть любая неправильно, что я делаю или нет, пожалуйста, объясните ....

Спасибо, Радж

ответ

2

Да, вы не инициализирует свои свойства. После строительства все объекты Monthlst будут 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); 
    } 
} 
Смежные вопросы