我有一個C#類,其中默認constructor
設置屬性的默認值。然後,在VB.Net項目中,我創建了一個實例並使用With{}
從數據庫填充它。什麼是第一個,構造函數或帶{}?
我的問題是,構造函數是先發生還是應該發生? 我看到一些奇怪的東西,並試圖找出從哪裏開始尋找。
縮寫代碼
public class Contact
{
public Guid ID {get; set;}
public DateTime? InactiveDate {get; set;}
public Contact()
{
this.ID = Guid.NewGuid();
this.InactiveDate = null;
}
}
Public Shared Function GetContact(ByVal contactID As Guid) As Models.Contact
Dim results As Models.Contact = context.tblContacts.Where(Function(c) c.ID = contactID _
.Select(Function(c) New Models.Contact() With { .ID = c.ID, .InactiveDate = c.InactiveDate}).SingleOrDefault()
Return results
End Function
我所看到的是我的InactiveDate
越來越設置爲null
。
您可以發佈您的代碼? – Inisheer 2013-03-22 14:43:50
並解釋奇怪的意思! :) – Dave 2013-03-22 14:44:11
一個對象的構造函數總是先走,不管它是什麼,它的屬性是如何初始化的。 – 2013-03-22 14:44:32