
VFP中是没有“枚举”类型的。这可能是造成VFP代码中充斥“魔法数字”的原因之一。
魔法数字,按照百度百科的解释,“指在代码中直接出现且缺乏语义化解释的值。这类值需通过阅读上下文推断其含义,通常被视为硬编码行为的典型表现”。
你能无障碍的理解下面的代码吗?
Do Case
Case m.lnStatus = 1
*!* Do Something
Case m.lnStatus = 2
*!* Do Something
EndCase如果更复杂的场景呢?
枚举的核心价值在于"有限的、可比较的、整数化的状态集"。
下面的代码就很好理解:
Do Case
Case m.lnStatus = m.loStatus.OK
*!* Do Something
Case m.lnStatus = m.loStatus.NotOK
*!* Do Something
EndCase因此,我们可以在代码中“创造”或者“模拟”枚举。