我在这个程序中遇到了问题,
namespace WorkingWithXML
{
public class information
{
private string Data1;
private string Data2;
private string Data3;
public string Data1
{
get { return Data1; }
set { Data1 = value; }
}
public string Data2
{
get { return Data2; }
set { Data2 = value; }
}
public string Data3
{
get { return Data3; }
set { Data3 = value; }
}
}
}
类型' WorkingWithXML.information'已包含' data1'
的定义
任何人都可以猜到错误 感谢..!
答案 0 :(得分:1)
对同一个类中的字段和属性使用相同的名称 - 两个Data1, Data2 Data3
。这是不允许的。
我建议您将字段名称转换为data1,data2,data3
。
答案 1 :(得分:0)
您有一个字段和一个同名的属性。在这样的二传手上:
set { Data1 = value; }
编译器无法判断您是否引用了成员变量或属性(这将是一个递归集并导致堆栈溢出异常)。
通常的方法是以不同方式命名成员变量。例如,_Data1
或m_Data1
,例如。
答案 2 :(得分:0)
你在实现属性上犯了错误,你应该使用backfields 或重写为自动属性
namespace WorkingWithXML
{
public class information
{
public string Data1 { get; set; }
public string Data2 { get; set; }
public string Data3 { get; set; }
}
}