【发布时间】:2012-04-05 14:56:03
【问题描述】:
在 wcfserviceLibrary.DLL 中发生了“System.StackOverflowException”类型的未处理异常
代码如下所示。
[DataContract]
public class memberdesignations
{
[DataMember]
public string DesigId
{
get { return DesigId; }
set { DesigId = value;}
}
[DataMember]
public string DesignationName
{
get { return DesignationName; }
set { DesignationName = value; }
}
}
然后我有如下类型成员指定的方法
public List<memberdesignations> memberdesignations()
{
List<memberdesignations> designations = new List<memberdesignations>();
memberdesignations objmemDesignations;
ds = objbll.Get_Member_Designations();
DataView dv = new DataView();
dv = ds.Tables[0].DefaultView;
foreach (DataRowView drow in dv)
{
objmemDesignations = new memberdesignations();
objmemDesignations.DesigId = drow["DesignationId"].ToString();
objmemDesignations.DesignationName = drow["DesignationName"].ToString();
designations.Add(objmemDesignations);
}
return designations;
}
我在包含 get set 属性的类中遇到错误。
但是当我像这样修改类时,我能够摆脱错误:
[DataContract]
public class memberdesignations
{
[DataMember]
public string DesigId
{
get; set;
}
[DataMember]
public string DesignationName
{
get; set;
}
}
在搜索论坛时,我发现它的原因是Konamiman并解释了 here
我想知道Konamiman解释的两种不同属性方式之间的区别
或任何其他解释将不胜感激。
谢谢
【问题讨论】:
-
你应该接受下面的答案。
-
@Valamas 我接受了答案,谢谢提醒。