【发布时间】:2015-05-08 06:50:25
【问题描述】:
我不得不说标题太差了,无法描述问题,但这是我唯一能想到的。无论如何,假设我得到了以下枚举:
public enum DocumentType{
IdCard=0,
Passport,
DriversLicense
}
我有一个接受字符串并返回上述枚举的方法:
public DocumentType GetDocTypeByString(string docType){
switch (docType)
{
case "ID":
return DocumentType.IdCard;
case "PASS"
return DocumentType.Passport;
//and so on
}
}
现在,如果传递的字符串不满足任何切换条件怎么办?最愚蠢的事情是创建返回类型对象,但几乎没有人会这样做。如果枚举是我的,我会添加一个名为“None”的附加值,并在不匹配的情况下返回它,但我无法控制它。然后我想,是否可以将输入限制为某些值。就 C# 而言,我几乎完全确定这是不可能的,但我还是决定问一下。在这种情况下你会推荐吗?
【问题讨论】:
-
您从哪里获取字符串(用户界面?)。你能不让这个使用枚举吗?
-
我可能会通过不让用户输入来确保它的安全,但我只是好奇。
标签: c# constraints parameter-passing