对条件属性使用编译器指令

时间:2013-01-17 14:53:21

标签: .net vb.net visual-studio-2010 compiler-directives

我希望根据编译模式使属性成为条件。

例如,MyFunction()使用属性MyAttribute()

进行修饰
<MyAttribute()>  
Private Function MyFunction() As Boolean
....
End Function

但是我只希望在DEBUG为真时应用该属性,这听起来像是一个使用compiler directives的好地方:

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

然而,这似乎需要一个延续字符(_),这又会影响#End If(意外的标记)。

我如何实现我的目标?

1 个答案:

答案 0 :(得分:3)

最糟糕的情况是,你可以这样做:

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

这可能是由于在预处理之前发生的线继续处理。例如,这是有效的:

#If 1 = _
  1 Then

#End If

在您的情况下,您希望在预处理后继续行继续。