Nullable DateTime?

旧城冷巷雨未停 提交于 2019-12-19 05:31:11

问题


how to create setter and getter Properties for nullable datetime. for example:

private DateTime mTimeStamp;

public DateTime TimeStamp
{
      get { return mTimeStamp; }
      set { mTimeStamp = value; }
}

Does nullable attributes support setter and getter or have i to declare it public?

private DateTime? mTimeStamp;

public DateTime TimeStamp
{

}

回答1:


You can just do this instead:

public DateTime? TimeStamp { get; set; }

If you were having trouble with the compiler it's probably because you only changed one of the associated parts - either the private member variable or the property's data type. They need to match, of course, and auto-properties handles that for you nicely.

EDIT Just to further clarify, DateTime? is not merely decorated with an ? attribute - it's entirely different from DateTime. DateTime? is shorthand for Nullable<DateTime>, which is a generic (Nullable<T>) that provides nullable support to non-reference types by wrapping the generic parameter T, which is a struct.




回答2:


You can create the property in the same way as a normal DateTime property:

public DateTime? TimeStamp { get; set; }



回答3:


You should be able to make a DateTime nullable in this way:

private DateTime? mTimeStamp;

public DateTime? TimeStamp
{
      get { return mTimeStamp; }
      set { mTimeStamp = value; }
}

You can use this modifier on other types as well. Read up here: http://msdn.microsoft.com/en-us/library/1t3y8s4s%28v=VS.100%29.aspx




回答4:


A nullable DateTime is a discrete type from a regular DateTime and can be used like any other type. So your code would be:

private DateTime? mTimeStamp;

public DateTime? TimeStamp
{
      get { return mTimeStamp; }
      set { mTimeStamp = value; }
}



回答5:


It's the same as non-nullable:

public DateTime? TimeStamp { get; set; }

You can replace DateTime with DateTime? in your top sample code (looks like code is missing at the bottom of your post).




回答6:


private DateTime? mTimeStamp;

public DateTime? TimeStamp
{
  get { return mTimeStamp; }
  set { mTimeStamp = value; }
}

or, if you are using .net 3.0+

public DateTime? TimeStamp {get;set;}


来源:https://stackoverflow.com/questions/8839787/nullable-datetime

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!