Various Properties in Context C# with Example



Various Properties in Context C# with Example

public class Person 
{ 
//Id property can be read by other classes, but only set by the Person class 
public int Id {get; private set;} 
//Name property can be retrieved or assigned 
public string Name {get; set;} 
private DateTime dob; 
//Date of Birth property is stored in a private variable, but retrieved or assigned through the 
public property. 
public DateTime DOB 
{ 
 

get { return this.dob; } 
set { this.dob = value; } 
} 
//Age property can only be retrieved; it's value is derived from the date of birth 
public int Age 
{ 
get 
{ 
int offset = HasHadBirthdayThisYear() ? 0 : -1; 
return DateTime.UtcNow.Year - this.dob.Year + offset; 
} 
} 
//this is not a property but a method; though it could be rewritten as a property if desired. 
private bool HasHadBirthdayThisYear() 
{ 
bool hasHadBirthdayThisYear = true; 
DateTime today = DateTime.UtcNow; 
if (today.Month > this.dob.Month) 
{ 
hasHadBirthdayThisYear = true; 
} 
else 
{ 
if (today.Month == this.dob.Month) 
{ 
hasHadBirthdayThisYear = today.Day > this.dob.Day; 
} 
else 
{ 
hasHadBirthdayThisYear = false; 
} 
} 
return hasHadBirthdayThisYear; 
} 
} 
 

0 Comment's

Comment Form

Submit Comment