我是Enum
类型的新手,似乎我无法在项目中找到解决方法。我被要求使用Enum
来创建具有预定义值的组合框。我做的是:
namespace Models
{
public class LastStatus
{
public LastStatus()
{
}
public int ID { get; set; }
public enum description { inProgress, done, accepted }
public description desc;
public int constant { get; set; }
}
}
这是我在使用它之前将DB模型转换为我自己的模型的方法:(例如,将它们添加到List中,然后迭代它以添加到aspx.cs中的组合框列表项)
private Models.LastStatus ConvertStatusDbToObject(DBModel.myDB.LastStatu status)
{
Models.LastStatus statusObject = new Models.LastStatus();
statusObject.ID = status.ID;
//statusObject.description = status.description;
(LastStatus.description)statusObject.desc = (LastStatus.description)status.@const;
statusObject.constant = status.@const;
return statusObject;
}
我在这一行得到错误:
(LastStatus.description)statusObject.desc = (LastStatus.description)status.@const;
尝试将DB Model的整数值强制转换为枚举类型时。不是desc
财产吗?
错误23作业的左侧必须是变量, 财产或指数
答案 0 :(得分:4)
将(LastStatus.description)statusObject.desc = (LastStatus.description)status.@const;
更改为statusObject.desc = (LastStatus.description)status.@const;
你不需要自己施放财产!
答案 1 :(得分:1)
首先,在声明枚举时为整数值指定整数值。例如:
public enum description { inProgress = 0, done = 1, accepted = 2}
第二次,我建议您不要在班级中使用公共字段。改变
public description desc;
到
public description desc { get; set; };