最近有人问道,在开发实体表时会遇到构造函数后跟随一个this(),示什么用意,如下:
/// <summary>
/// 需求信息
/// </summary>
public class DemandInfo : FullAuditedAggregateRoot<Guid>
{
public DemandInfo()
{
_demandPurchases = new List<DemandPurchase>();
LastModificationTime = DateTime.Now;
}public DemandInfo(string title, string demandType) : this()
{
SetTitle(title);
SetDemandType(demandType);
}
}
用this串联构造函数,是继承无参的构造函数,有时候需要在某个表每次新增一条数据时,需要默认初始化一个字段内容,但有不想每次调用新增时,都需默认赋值一次,这时候就需要一个无参构造函数,可以像上面一样,定义某几个字段的初始化默认值,然后再引用有参构造函数时,使用this()来继承无参函数,程序进来后会先执行DemandInfo()无参函数,然后继续往下边执行有参函数的逻辑