小编Mou*_*rya的帖子

System.StackOverflowException,当使用get set属性时?

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; }
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我有类型成员名称的方法如下

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(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net wcf

15
推荐指数
3
解决办法
5万
查看次数

如何创建两级枚举

对不起,如果问题的标题令人困惑,但我不知道该怎么问.真正想要的是拥有永不改变的只读数据.

目前我有两个枚举MeterTypeSubMeterType

public enum MeterType
{
  Water = 1001,
  Electricity = 1004,
  Gas = 1007
}
Run Code Online (Sandbox Code Playgroud)

public enum SubMeterType
{
  DrinkingWater = 1002,
  UsageWater = 1003,
  SubsidiseGas = 1008,
  NonSusbsidisedGas = 1009
} 
Run Code Online (Sandbox Code Playgroud)

现在我想用这些如下

获取MeterType

string meterType = MeterType.Water.ToString("d");
Run Code Online (Sandbox Code Playgroud)

并获得SubMeterType,是否可能有类似的东西

string subMeterType = MeterType.Water.DrinkingWater("d");
Run Code Online (Sandbox Code Playgroud)

应该使用具有readonly属性的类的另一种方法吗?或修改这些枚举以满足我的要求.

.net c# oop enums

6
推荐指数
1
解决办法
4065
查看次数

标签 统计

c# ×2

.net ×1

asp.net ×1

enums ×1

oop ×1

wcf ×1