У меня есть класс с именем Person
, который имеет свойства Name
, DateOfBirth
и Age
.Name
и DateOfBirth
предоставляются при создании экземпляра класса, но я хочу, чтобы свойство Age
вычислялось автоматически, как только создается экземпляр класса.Я знаю, как это сделать, используя Параметризованный конструктор , но, пытаясь понять всю мощь свойств, я попытался выполнить следующую программу, но она не дает ожидаемого результата.
using System;
namespace Property
{
class Person
{
#region private varaibles
private int _age;
#endregion
#region properties
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public int Age
{
get { return _age; }
set { _age = (DateTime.Now - DateOfBirth).Days / 365; }
}
#endregion properties
}
class Program
{
static void Main(string[] args)
{
Person P = new Person() { Name = "Merin Nakarmi", DateOfBirth = new DateTime(1990, 1, 12) };
Console.WriteLine("{0}, whose Date Of Birth is {1} is {2} years old!", P.Name, P.DateOfBirth, P.Age);
}
}
}
Вывод, который я получаю,
Я ожидаю, что возраст будет 28. Помогите, пожалуйста.