1

私の質問をよく読んでください。おそらく非常に悪いロジックのチャンクが表示されます。

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

私の質問は:この case ステートメントが環境やビルド オプションなどに応じて異なる方法で分岐する方法はあります?別の環境では常に Case MyFoo.num への分岐が見られます

ビルド オプション/スイッチ、最適化ルール、環境設定など...

編集 - オブジェクトが次のようになっているとします。

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

2 に答える 2

1

このケースステートメントが環境やビルドオプションなどに応じて異なる方法で分岐する方法はありますか....

これが異なる方法で分岐する唯一の方法は、ステートメントのMyFoo変数内に別の値が格納されている場合です。Select Case環境によって分岐ロジックが変更されないようにする必要があります。

そうは言っても、 を設定するコードを表示することはありませんMyFoo。何らかの環境設定に基づいて変数が異なる方法で設定されている可能性があり、この動作が発生する可能性があります。

于 2013-02-04T16:44:20.043 に答える
0

条件付きコンパイルを使用できます

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

その後、そのビルド環境のプロジェクト オプションで myfoo 定数を宣言できます。

于 2013-02-04T16:44:10.870 に答える