I have to clone some Entity, then I wrote this piece of code.
public override object Clone()
{
var CloneUser = base.Clone() as FMSUser;
CloneUser.Username = this.Username;
CloneUser.IsEnabled = this.IsEnabled;
CloneUser.IsNeedPasswordReset = this.IsNeedPasswordReset;
CloneUser.LastName = this.LastName;
CloneUser.FirstName = this.FirstName;
CloneUser.MiddleName = this.MiddleName;
CloneUser.DistributorID = this.DistributorID;
CloneUser.IsLocked = this.IsLocked;
return CloneUser;
}
But then my coworker sent me this code, saying it's better to clone this way, but can't tell me why :
public FMSUser(FMSUser user)
{
this.Username = user.Username;
this.IsEnabled = user.IsEnabled;
this.IsNeedPasswordReset = user.IsNeedPasswordReset;
this.LastName = user.LastName;
this.FirstName = user.FirstName;
this.MiddleName = user.MiddleName;
this.DistributorID = user.DistributorID;
this.IsLocked = user.IsLocked;
}
public override object Clone()
{
return new FMSUser(this);
}
Can anynone explain me why the second way is better?