VS2008中c#类递归错误
本文关键字:递归 错误 VS2008 | 更新日期: 2023-09-27 18:11:12
我在VS2008中有一个用c#编写的类。类是递归的。
当我找到这个类的实例并在调试时查看它时,VS2008会停滞几秒钟,然后调试会话退出。
你知道是什么问题吗?
类是
public class TextSection
{
private bool used;
private string id;
private HL7V3_CD code;
private string title;
private string text;
public List<TextSection> section;
public TextSection()
{
used = false;
section = new List<TextSection>();
}
public bool Used
{
get { return used; }
}
public string Title
{
get { return title; }
set
{
used = true;
title = value;
}
}
public string Text
{
get { return text; }
set
{
used = true;
text = value;
}
}
public string Id
{
get { return id; }
set
{
used = true;
id = value;
}
}
public HL7V3_CD Code
{
get { return Code; }
set
{
used = true;
code = value;
}
}
}
在调试VS2008退出前的屏幕截图时,这里显示
问题是这个属性
public HL7V3_CD Code
{
get { return Code; }
set
{
used = true;
code = value;
}
}
它将产生一个StackOverflowException,当调试器试图从属性代码中获取值,导致代码调用自己,而不是返回一个变量的值
你应该修改这个片段
public HL7V3_CD Code
{
get { return Code; }
set
{
used = true;
code = value;
}
}
public HL7V3_CD Code
{
get { return code; }
set
{
used = true;
code = value;
}
}