2012-01-10 191 views

回答

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 <>

值類型不能具有空值(相對於引用類型)。使用System.Nullable<>允許表示其基礎值類型的正確值範圍,再加上一個額外的空值。

另一個符號來System.Nullable<DateTime>DateTime?

Nullable Types (C# Programming Guide)

0

是哪一部分的它,你感到困惑?

它恰巧是一個C# property類型Nullable(T),這是一種結構,允許您使其他結構可以爲空。因爲您可以將屬性設置爲null,請注意,不能將普通DateTime變量設置爲空。

該屬性寫有一些稱爲Auto-Implemented properties的語法糖。

擁有名稱LoginDateTime它可能存儲了登錄人員的日期和時間。