我有一个用于属性的基类
public class Parameters
{
public string caption
{
get;
set;
}
public string subcaption
{
get;
set;
}
public string bgColor
{
get
{
if (bgColor == " ")
return bgColor = "FFFFFF";
else
return bgColor;
}
set { bgColor = value; }
}
}
//some other properties with default return values
和其他类继承自此类,并具有返回字符串生成器的方法
public class Bar : Parameters
{
public StringBuilder GetXML()
{
StringBuilder xmlData = new StringBuilder();
xmlData.Append("<chart bgColor='" + bgColor + "'"
+ " caption='" + caption + "'"
+ " subcaption='" + subcaption + "'>");//mentioned here are some properties there are many in the xmldata.append function
return xmlData;
}
}
现在,其他一些类尝试通过声明对象来访问此方法
Bar XML = new Bar();
XML.caption = "Caption";
XML.subcaption = "subcap"; //setting values properties which dont have default return values
XML.GetXML();
当调试器进入GetXML方法调试器强制关闭自己时,我在这里缺少什么吗是不是与此有关
这只是损坏的代码。
return bgColor = "FFFFFF";
将计算为布尔值而不是字符串。
您还尝试在 getter 中使用不存在的支持字段。
尝试这样的事情:
private string _bgColor;
public string bgColor
{
get
{
if (string.IsNullOrEmpty(_bgColor))
{
_bgColor = "FFFFFF";
}
return _bgColor;
}
set { _bgColor = value; }
}