在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它可能存儲了登錄人員的日期和時間。