使用get set修饰符和函数以更改C#MVC中的变量值


 public class ExaminationModel
    {
        [DataMember]
        public int ExaminationId { get; set; }
        [DataMember]
        public string ExaminationName { get; set; }
        [DataMember]
        public DateTime ExaminationDate { get ; set; }
}

我想将每个考试变为本地时区(本地时区保存在数据库中(,我该如何尝试我尝试一些事情,例如

 [DataMember]
    public DateTime ExaminationDate
    {
        get { return ConvertToLocalDateTime(); }
        set { }
    }

  public DateTime ConvertToLocalDateTime()
        {
            string timezone = System.Web.HttpContext.Current.Session["timezone"].ToString();
            TimeZoneInfo infotime = TimeZoneInfo.FindSystemTimeZoneById(timezone);
            DateTime thisDate = TimeZoneInfo.ConvertTimeFromUtc(ExaminationDate, infotime);
            return thisDate;
        }

我得到了stcakoverflow侵犯,我该怎么做我所缺少的?感谢一些帮助?

您正在遇到错误,因为您正在递归调用考试属性。您可以使用以下私有变量:

    private DateTime examinationDate;
    public DateTime ExaminationDate
    {
        get { return ConvertToLocalDateTime(examinationDate); }
        set { examinationDate = value; }
    }
    public DateTime ConvertToLocalDateTime(DateTime examinationDate)
    {
        string timezone = TimeZone.CurrentTimeZone.StandardName;
        TimeZoneInfo infotime = TimeZoneInfo.FindSystemTimeZoneById(timezone);
        DateTime thisDate = TimeZoneInfo.ConvertTimeFromUtc(examinationDate, infotime);
        return thisDate;
    }