<= Tilbake

Property getters og setters

Du har sikkert lagt merke til vi skriver feltene våre med {get;set;} bak på PersonModel.
Det betyr at man har lov til både å lese fra og skrive til feltet på objektet. Ofte har vi felter som inneholder noe logikk, eller som kombinerer andre felter. Da kan man bruker get-metoden til å regne det ut, istedet for å dobbelt-lagre informasjon.
Vi legger til feltene i PersonModel:

public string FullName
{
	get
	{
		return string.Format("{0} {1}", FirstName, LastName);
	}
}

public int? Age
{
	get
	{
		if (DateOfBirth != null)
		{
			var today = DateTime.Today;
			int age = today.Year - DateOfBirth.Value.Year;
			if (DateOfBirth > today.AddYears(-age)) age--;
			return age;
		}

		return null;
	}
}

Og i Show.cshtml:

@MVCintro.Models.PersonModel

<h2>@Html.DisplayFor(m => m.FullName)</h2>
@Html.Partial("_Show", Model)
<p>@Html.DisplayNameFor(m => m.PhoneNumber): @Html.DisplayFor(m => m.PhoneNumber)</p>
<p>@Html.DisplayNameFor(m => m.IdentityNumber): @Html.DisplayFor(m => m.IdentityNumber)</p>
<p>@Html.DisplayNameFor(m => m.DateOfBirth): @Html.DisplayFor(m => m.DateOfBirth)</p>
<p>@Html.DisplayNameFor(m => m.EmailAddress): @Html.DisplayFor(m => m.EmailAddress)</p>
<p>@Html.DisplayNameFor(m => m.Age): @Html.DisplayFor(m => m.Age)</p>
Bygg og test.


<= Tilbake