C#属性-需要子属性

本文关键字:属性 | 更新日期: 2023-09-27 18:30:04

我的任务是将xml和json数据解析到应用程序中。我正在尝试创建一个包含我将要收集的所有数据的属性类。

这是我的问题

我创建了一个类,其中包含天气数据、温度、风、紫外线指数等变量。我还创建了天数。我可以单独查看这些日子,但不能作为一个整体查看。例如

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

我想做的就是这个。

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

等等。我对C#还很陌生,甚至不知道该用谷歌搜索什么。我已经绞尽脑汁一个星期了,但收效甚微。我对其他关于存储数据的建议也持开放态度。

C#属性-需要子属性

您所要做的就是让WDay在所有日子都有属性:

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

然后使Day类具有TempHiF属性,依此类推:

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

请确保WDay的构造函数使用新实例初始化其所有Day属性,以避免出现null引用异常。

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

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

你只需要嵌套你的类,这样你的工作日类就有一个星期一类、一个星期二类等等。然后给你的每个工作日类一个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";
}