0

在 WPF 项目中,我有一个DataGrid名称DG,它绑定到 C# 端的 SQL 中的查询,我尝试转换string MiladiDate为 PersianDate。但是显示为标题的错误说:

无法计算表达式,因为当前线程处于堆栈溢出状态

这是我更改 get/set 的代码:

namespace DataModelLayer
{
    using System;
    using System.Collections.Generic;
    using System.Globalization;

    public partial class Vw_DD_MM
    {
        public int MMID { get; set; }

        public string MiladiDate
        {
            get
            {
                DateTime englishDate = DateTime.Parse(MiladiDate);
                PersianCalendar pc = new PersianCalendar();
                return string.Format("{0}/{1}/{2}", pc.GetYear(englishDate), pc.GetMonth(englishDate).ToString("00"), pc.GetDayOfMonth(englishDate).ToString("00"));
            }
            set { }
        }
    }
}

请查看错误的屏幕截图

4

1 回答 1

0

您在 gette 正文中有一个递归循环。你看,MiladiDateDateTime.Parse(MiladiDate). 尝试这样的事情:

public partial class Vw_DD_MM
{
    public int MMID { get; set; }

    public string MiladiDate { get; set; }

    public string PersianDate
    {
        get
        {
            DateTime englishDate = DateTime.Parse(MiladiDate);
            PersianCalendar pc = new PersianCalendar();
            return string.Format("{0}/{1}/{2}", pc.GetYear(englishDate), pc.GetMonth(englishDate).ToString("00"), pc.GetDayOfMonth(englishDate).ToString("00"));
        }
    }
}

希望能帮助到你。

于 2018-10-04T06:14:29.103 回答