由于未知原因,Enum的分支似乎不同

时间:2013-02-04 16:38:55

标签: vb.net enums boolean

请仔细阅读我的问题 。你将要看到一大堆非常糟糕的逻辑。

Dim num As Boolean
Select Case MyFoo
   Case MyFoo.num
      num = True
   Case Else
      num = False
End Select

我的问题是:是否有任何可能的方式,以便根据环境,构建选项或其他方式对此案例语句进行不同的分支....我不是指它随机分支,但是一个环境看到它总是分支到Case Else,而另一个环境总是看到它分支到Case MyFoo.num

构建选项/开关,优化规则,环境设置等......

编辑 - 假设我的对象如下所示:

Public Enum MyFoo
   word = 1
   otherword = 2
   num = 3
   blahblah = 4
End Enum

2 个答案:

答案 0 :(得分:1)

  

根据环境,构建选项等等,这个case语句是否有可能以不同的方式进行分支....

如果MyFoo语句中的Select Case变量中存储了不同的值,则此分支的唯一方式就是不同。环境不应该改变分支逻辑。

话虽如此,您从未显示设置MyFoo的代码。根据某些环境设置,可能会对变量进行不同的设置,这可能会导致您看到此行为。

答案 1 :(得分:0)

您可以使用条件编译

Dim num as boolean
#if myfoo
    Num = true
#else
    Num = false
#end if

然后,您可以在该构建环境的项目选项中声明myfoo常量