C#3.0如何才能获得只读属性值?

And*_*nda 1 c#-3.0

在C#3.0中,我正在执行下面的代码来声明一个DateTime属性和一个只读的int age属性.

public class MyClass{
    public DateTime dateOfBirth{ get; set; }
    public int age { get; }

    public MyClass(){}

    public int CalculateAge(){}
}
Run Code Online (Sandbox Code Playgroud)

但是,当某人以某种形式输入他的出生日期时,我怎样才能获得这个更新的年龄(只读它)?

Ree*_*sey 8

您需要实现"age"属性,以便它可以使用dateOfBirth属性:

public int age { 
    get {
         return (DateTime.Now - this.dateOfBirth).Days / 365;
    }
}
Run Code Online (Sandbox Code Playgroud)


svi*_*nto 7

不存储年龄,而是在执行年龄属性的get时计算它:

public int Age { get { return 100; } }

但是,不是返回100,而是进行计算.

  • 他说'不存储年龄......' (4认同)