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

但是传递给方法的7ImportType变量值根本无效,因为任何整数都可以转换。enum默认为int类型,那么在这种情况下验证enum实际上是有效的ImportType的最佳方法是什么?

c#枚举如何改进?

我不知道我是否理解正确,但你可以很容易地验证enum使用:

int value = 7;
bool isDefined = Enum.IsDefined(typeof (ImportType), value);