c#枚举如何改进?
本文关键字:何改进 枚举 | 更新日期: 2023-09-27 18:15:04
如果我创建一个像这样的enum
public enum ImportType
{
Direct,
Indirect,
InBond
}
和我有一个方法,以ImportType作为参数,如下所示
public bool ProcessValidImport(ImportType type)
{
// Process ImportType variable here
}
我可以像下面这样调用这个方法
bool blnProcessed = ProcessValidImport((ImportType)7);
但是传递给方法的7
的ImportType
变量值根本无效,因为任何整数都可以转换。enum默认为int类型,那么在这种情况下验证enum实际上是有效的ImportType
的最佳方法是什么?
我不知道我是否理解正确,但你可以很容易地验证enum使用:
int value = 7;
bool isDefined = Enum.IsDefined(typeof (ImportType), value);