asp.net中的属性?属性声明?

时间:2012-01-10 11:39:28

标签: asp.net

在网络应用程序中,我正在尝试声明属性,我在一些博客中发现他们声明了这样的属性:

 public System.Nullable<DateTime> LoginDateTime { get; set; }

上述财产的含义是什么。

3 个答案:

答案 0 :(得分:2)

这称为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&lt;&gt;

值类型不能具有空值(与引用类型相比)。 System.Nullable<>的使用允许为其基础值类型表示正确的值范围,以及额外的空值。

System.Nullable<DateTime>的另一种表示法是DateTime?

Nullable Types (C# Programming Guide)

答案 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 ,它可能存储登录人员的日期和时间。