2010-07-09 84 views
0

我正在试图开发一个时钟应用程序与从0-9每个数字的图像。写了一个结构,每隔一段时间给我一个数字。以下是结构。自定义日期时间结构

public struct TimeStruct 
{ 
    public DateTime dt 
    { 
     get 
     { 
      return DateTime.Now; 
     } 
    } 
    public int s 
    { 
     get 
     { 
      return dt.Second; 
     } 
    } 
    public int s2 
    { 
     get 
     { 
      return s % 10; 
     } 

    } 
    public int s1 
    { 
     get 
     { 
      return s/10; 
     } 
    } 
    public int m 
    { 
     get 
     { 
      return dt.Minute; 
     } 
    } 
    public int m2 
    { 
     get 
     { 
      return m % 10; 
     } 
    } 
    public int m1 
    { 
     get 
     { 
      return m/10; 
     } 
    } 
    public int h 
    { 
     get 
     { 
      return dt.Hour; 
     } 
    } 
    public int h2 
    { 
     get 
     { 
      return h % 10; 
     } 
    } 
    public int h1 
    { 
     get 
     { 
      return h/10; 
     } 
    } 
    public int d 
    { 
     get 
     { 
      return (int)dt.DayOfWeek; 
     } 
    } 

} 

请指导我修改此结构,以便只有当s1变为0时才能设置prop s2。并且与分钟相同。 使用的技术:Silverlight 平台:Windows Phone 7

使用结构是一个坏主意吗?

回答

3

你是什么意思“prop s2只能在s1变为0时设置” - 当s1 不是 0时,你希望它做什么?您是否正在寻找可空值类型,其中s1在某些情况下会返回空值?我不得不说,我认为这是一个相当混乱的类型。它没有真正的状态 - 它实际上只是一堆静态属性。任何不作为一堆静态属性实现的原因,例如在CurrentDateTime班?或者只是使用DateTime.Now?请注意,如果您问结构中的一组值,一次一个,随着时间的流逝,它可能会给您带来不一致的结果。例如,假设时间是1:59:59,您可以拨打s,然后m,然后h - 当前时间从1:59:59到2:00时,您可能最终得到59,59,2。 00之间的最后两个电话。如果您的值为DateTime.Now只需一次并询问其所有属性,则会得到一致的视图。

2

为什么重新发明轮子?使用DateTimeTimeSpan

相关问题