[英]How to implement a DateTime entity property to set always DateTime.Now
我已經閱讀了一些關於自動實現的屬性,但我仍然不太明白。 我有和實體:
public class News
{
public int NewsId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime Date { get; set; }
}
現在我不希望用戶設定的日期自己的每一個新的實體時News
創建類型。 我希望記錄自動保存,並創建日期時間。 考慮一下我建議只需set
我的屬性set
修改為:
public DateTime Date
{
get;
set
{
Date = DateTime.Now;
}
}
但閱讀有關該主題的內容,我看到標准方法是創建私有變量並在實現中使用它。 這就是我有點失落的地方。
private DateTime _date = null;
public DateTime Date
{
好吧,我不確定getter和setter的實現。 有類似的東西似乎是合理的: set { _date = DateTime.Now;}
我不知道如何處理get
部分因為我希望從數據庫中獲取這些數據,所以類似於: get {return _date;} doesn't make much sense to me even though almost every example with auto implemented
set`的get {return _date;} doesn't make much sense to me even though almost every example with auto implemented
都返回私有變量, get {return _date;} doesn't make much sense to me even though almost every example with auto implemented
。 但我認為,如果財產是一個實體,這沒有多大意義。
一些返回當前日期的方法:
public DateTime Date { get { return DateTime.Now; } }
要么
public class News
{
public News()
{
Date = DateTime.Now;
}
public DateTime Date { get; private set; }
}
第一個將始終返回當前日期/時間,即使該實例是在一段時間之前創建的。 第二個將返回實例創建的日期/時間。 兩者都阻止用戶設置Date值。
你可以在你的類中添加一個構造函數,然后在那里初始化你的屬性。
public class News
{
// properties goes here
public News()
{
Date=DateTime.Now;
}
}
一個好得多的構造函數如下
public News(int newsId, string title, string content)
{
NewsId=newsId;
Title=title;
Content=content;
Date=DateTime.Now;
}
這樣,您就可以在一行代碼中創建一個News類型的對象。
News news = new News(1,"title1","whatever");
不要觸摸吸氣劑和安裝器! 它們是從模板自動生成的,每隔一段時間就會被覆蓋。 相反, 正如您可能已經注意到生成的實體被部分聲明 ,創建一個分部類並在那里聲明一個構造函數,將構造函數的_date或Date設置為DateTime.Now
(正如您所希望的那樣)。
public partial class News
{
public News()
{
this.Date = DateTime.Now;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.