我正在检查一些代码,我发现了这个代码片段,我只是想确定我对第二个构造函数的理解。所以,请确认我对:this()
当使用第二个构造函数创建User时,它将始终继承已分配的Roles属性,因为Roles属性未在第二个构造函数中的任何位置分配。我假设它将在代码中的某处稍后使用。 < / p>
protected User()
{
Roles = new HashedSet<Role>();
}
public User(string username, string email, string password, string hashAlgorithm)
: this()
{
UserName = username;
Email = email;
SetPassword(password, hashAlgorithm);
IsApproved = true;
}
答案 0 :(得分:5)
“this()”只是调用第一个构造函数。请参阅以下MSDN主题中的最后两个代码段:
答案 1 :(得分:2)
语法: this()
将调用不带参数的构造函数,在本例中是示例中的第一个构造函数。这可以确保在调用构造函数时,Roles以相同的方式初始化。
答案 2 :(得分:0)