在网络应用程序中,我正在尝试声明属性,我在一些博客中发现他们声明了这样的属性:
public System.Nullable<DateTime> LoginDateTime { get; set; }
上述财产的含义是什么。
答案 0 :(得分:2)
在C#3.0及更高版本中,自动实现的属性生成 当不需要额外的逻辑时,属性声明更简洁 在物业访问者。它们还使客户端代码能够创建 对象。声明属性时,如下所示 例如,编译器创建一个私有的匿名支持字段 只能通过属性的get和set访问器访问。
编译器会将此代码转换为:
private System.Nullable<DateTime> xxx;
public System.Nullable<DateTime> LoginDateTime
{
get
{
return xxx;
}
set
{
xxx = value;
}
}
然后将“生成的”代码称为property:
属性是一个提供灵活读取机制的成员, 写或计算私有字段的值。可以使用属性 好像他们是公共数据成员,但他们实际上是特殊的 称为访问器的方法。这样可以轻松访问数据 仍然有助于提高方法的安全性和灵活性。
关于System.Nullable&lt;&gt;
值类型不能具有空值(与引用类型相比)。 System.Nullable<>
的使用允许为其基础值类型表示正确的值范围,以及额外的空值。
System.Nullable<DateTime>
的另一种表示法是DateTime?
答案 1 :(得分:0)
它声明一个LoginDateTime属性,该属性可以包含值或为null;它相当于:
public DateTime? LoginDateTime { get; set; }
在此处阅读更多内容:http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx
答案 2 :(得分:0)
你对此感到困惑的部分是什么?
恰好是C# property类型Nullable(T),它是一种允许您使其他结构可以为空的结构。如您可以将属性设置为null
,注意,您不能将普通DateTime
变量设置为null。
该属性使用一些名为Auto-Implemented properties的语法糖编写。
名称为 LoginDateTime ,它可能存储登录人员的日期和时间。