如果我想将数据库中的spicelevel列的值限制为1、2和3,我可以这样做
private enum SpiceLevel
{
Low=1,
Medium=2,
Hot=3
}
然后在代码中我可以做(int)SpiceLevel.Low
选择 1 作为香料级别。
现在,如果我需要只能接受“红玫瑰”、“白玫瑰”和“黑玫瑰”作为数据库中列的值,该怎么办?处理这个问题的优雅方法是什么?
我正在考虑将它们存储在配置文件或常量中,但这都不像枚举那么优雅。有任何想法吗?
Update:
答案here https://stackoverflow.com/questions/630803/associating-enums-with-strings-in-c-sharp为我工作
您可以使用property
为了这
public string[] AllowedRoses = new string[] { "Red Rose", "White Rose" ,"Black Rose" };
string _Rose = "Red Rose";
public string Rose
{
get
{
return _Rose;
}
set
{
if (!AllowedRoses.Any(x => x == value))
throw new ArgumentException("Not valid rose");
_Rose = value;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)