c# – Getter / Setter正在崩溃我的代码,但在函数中很好
作者:互联网
我想以英国格式返回日期,而不是当前存储的美国格式.
因此,我决定在我班级的值中添加一个getter和setter.
但是,当我使用getter和setter运行代码时,页面无法加载.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
// Globalisation for converting dates from American to British format
using System.Globalization;
/// <summary>
/// Class to hold the summary of an order take from database TOEHEAD
/// </summary>
public class OrderSummary
{
public string order_number { get; set; }
public string order_date
{
get
{
try
{
string ukDateTimeFormat = Convert.ToString(DateTime.Parse(this.order_date, CultureInfo.CreateSpecificCulture("en-US")));
return ukDateTimeFormat;
}
catch (FormatException e)
{
return "Error";
}
}
set
{
this.order_date = value;
}
}
public string order_total { get; set; }
public OrderSummary()
{
}
}
如果我将此代码放入函数并以此方式返回,它可以正常工作.
我格式化了错误吗?
解决方法:
您通过从获取代码调用相同的属性导致堆栈溢出
string ukDateTimeFormat = Convert.ToString(DateTime.Parse(**this.order_date**, CultureInfo.CreateSpecificCulture("en-US")));
你也可以在集合中这样做
this.**order_date** = value;
固定代码:
private string m_order_date;
public string order_date
{
get
{
try
{
string ukDateTimeFormat = Convert.ToString(DateTime.Parse(m_order_date, CultureInfo.CreateSpecificCulture("en-US")));
return ukDateTimeFormat;
}
catch (FormatException e)
{
return "Error";
}
}
set
{
m_order_date = value;
}
}
标签:c,get,set,globalization,performance 来源: https://codeday.me/bug/20190715/1469492.html