【问题标题】:C# Properties - Need Sub PropertiesC# 属性 - 需要子属性
【发布时间】:2012-04-04 14:19:28
【问题描述】:

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

这是我的问题/问题

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

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

我想做的就是这个。

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

等等。我对 C# 很陌生,我什至不知道要谷歌什么。我已经绞尽脑汁一周了,但取得的成功有限。我也愿意接受有关存储数据的其他建议。

【问题讨论】:

  • 你了解 OO 概念吗?

标签: c# xml json class properties


【解决方案1】:

你所要做的就是让 WDay 拥有所有日子的属性:

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

然后让Day 类有一个TempHiF 属性,依此类推:

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

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

【讨论】:

  • 除非您可能不希望将温度作为字符串。
  • 谢谢,我实际上是在发布此内容后就想通了。这是我使用的方法。
【解决方案2】:
class Week {
  public Day Sunday{get;set;}
  public Day Monday{get;set;}
  // etc...
}



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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2015-09-20
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 2017-01-16
      相关资源
      最近更新 更多