2012-04-04 3 views
3

Мне было поручено разбор данных xml и json в приложении. Я пытаюсь создать класс свойств, который охватывает все данные, которые я буду собирать.Свойства C# - Необходимые вспомогательные свойства

Вот мой вопрос/вопрос

Я создал класс с переменными для данных о погоде, темп, ветра, УФ-индекс и т.д., я создал дни, а также. Я могу получить доступ к дням индивидуально, но не в целом. Например.

Monday m = new Monday(); 
m.TempHiF = "65"; 

Что я хочу сделать это.

WDay d = new WDay(); 
d.Monday.TempHiF = "65" 
d.Tuesday.TempHiF = "67"; 

И так далее. Я довольно новичок в C#, и я даже не уверен, что делать с Google. Я неделю в неделю ломаю голову и прихожу с ограниченным успехом. Я открыт для других предложений по хранению данных.

+0

Вы понимаете концепции ОО? –

ответ

6

Все, что вам нужно сделать, это сделать WDAY имеет свойство для всех дней:

public class WDay 
{ 
    public Day Monday {get;set;} 
    ... 

Тогда есть Day класса имеет TempHiF свойство, и так далее:

public class Day 
{ 
    public string TempHif {get;set;} 
    ... 
} 

Убедитесь, что WDAY-х конструктор инициализирует все свои свойства Day новыми экземплярами, чтобы избежать нулевых ссылочных исключений.

+0

Кроме того, вы, вероятно, не хотите, чтобы температура была как строка. –

+0

Спасибо, я действительно понял это сразу после публикации этого. Это метод, который я использовал. –

1
class Week { 
    public Day Sunday{get;set;} 
    public Day Monday{get;set;} 
    // etc... 
} 



class Day { 
// Define day-bound properties here 
} 
1

Вам просто нужно, чтобы гнездиться классы, чтобы ваш класс будний имеет класс ПОНЕДЕЛЬНИК, класс ВТОРНИК, и т.д .. затем дать каждому из однодневных классов свойство TempHi или любых дополнительных свойств, которые вы хотите, а затем просто укажите их

class WDay{ 

    public Monday mon = new Monday(); 
    public Tuesday tue = new Tuesday(); 
    public Wednesday wed = new Wednesday(); 

} 

class Monday 
{ 
    private string _TempHi; 
    public TempHi 
    { 
    get { 
    return _TempHi; 
    } 
    set { 
    _TempHi = value; 
    } 
    } 
} 

class main 
{ 
    WDay WeekDay = new WDay(); 

    WeekDay.mon.TempHi = "65F"; 
} 
Смежные вопросы