3

コンパイル モードに基づいて属性を条件付きにしたいと考えています。

たとえば、これはMyFunction()属性で装飾されていますMyAttribute():

<MyAttribute()>  
Private Function MyFunction() As Boolean
....
End Function

ただし、DEBUG が true の場合にのみ属性を適用する必要があります。これは、コンパイラ ディレクティブを使用するのに最適な場所のように思えます。

#If Debug Then
<MyAttribute()>
#End If
Private Function MyFunction() As Boolean
....
End Function

ただし、これには継続文字 (_) が必要なようで、これが#End If(予期しないトークン) に影響を与えます。

どうすれば私が望むものを達成できますか?

4

1 に答える 1

3

最悪の場合、次のことができます。

#If Debug Then
<MyAttribute()>
Private Function MyFunction() As Boolean
#Else
Private Function MyFunction() As Boolean
#End If

これは、前処理の前に行継続処理が発生しているためと考えられます。たとえば、これは有効です。

#If 1 = _
  1 Then

#End If

あなたの場合、前処理後に行の継続が発生することを期待しています。

于 2013-01-17T15:08:02.943 に答える