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