我有一个 C# 类,其中默认构造函数
设置属性默认值。然后,在 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
。
最佳答案
无论你对对象做什么,构造函数总是先执行。
关于c# - 构造函数和 With{} 哪个先出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573143/