模型中变量值的代码

时间:2014-05-14 14:12:29

标签: c# asp.net-mvc

我正在学习有关控制器,模型和视图的Code First。我希望有一个自定义的年龄值,我不知道如何在我的模型中进行这种“计算”。我一直在使用类似public int Age {get; set; }之类的东西而不对该变量进行任何计算,但现在我希望根据另一个变量值(例如Age = CurrentDate-BirthDate)对该变量值执行某些操作。

因为我还是{get; set;},我觉得我很困惑如何在更新Age时保持该表达式。

这是我的模型看起来的样子(只是变量),如上所述,我想用BirthDate的用户输入值做一个等式来设置Age的值,而不是从用户那里得到它。

public class Actor
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public DateTime BirthDate { get; set; }
        public DateTime Age;      
        public decimal NetValue { get; set; }
    }

*在旁注中,我应该使用年龄的“int”或“DateTime”吗? DateTime用在教程中,因此它在我的代码中。

非常感谢!

1 个答案:

答案 0 :(得分:1)

对于只读计算属性,您只需要一个手动获取器。像这样:

public int Age
{
    get { return (DateTime.Now - BirthDate).TotalDays / 365; }
}

注意这个"除以365"是实际计算年份的非常原始方式。有better ways。这纯粹是一个小例子,用于演示模型的计算属性。