关键词搜索

源码搜索 ×
×

VB.Net - 指令

发布2021-02-27浏览377次

详情内容

VB.Net编译器指令给编译器指令,以便在实际编译开始之前预处理信息。

所有这些指令以#开头,并且在一行上的指令之前只能出现空格字符。 这些指令不是语句。

VB.Net编译器没有单独的预处理器; 然而,指令被处理,就像有vb.net教程一个。 在VB.Net中,编译器指令用于帮助条件编译。 与C和C ++指令不同,它们不用于创建宏。

在 VB.Net 中的编译器指令
VB.Net提供了以下一组编译器指令:

The #Const 指令

The #ExternalSource 指令

The #If…Then…#Else 指令

The #Region 指令

The#Const指令
该指令定义条件编译常量。语法这个指令是:

#Const constname = expression

constname:指定常量的名称。必要。

expression :它是文字或其他条件编译器常量,或包含任何或所有算术或逻辑运算符(除了Is)的组合。

例如,

#Const state = "WEST BENGAL"

    示例

    以下代码演示了伪指令的使用:

    Module mydirectives
    #Const age = True
    Sub Main()
       #If age Then
          Console.WriteLine("You are welcome to the Robotics Club")
       #End If
       Console.ReadKey()
    End Sub
    End Module
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    当上述代码被编译和执行时,它产生了以下结果:

    You are welcome to the Robotics Club

    The#ExternalSource指令
    此指令用来指示特定行的源代码和源的外部文本之间的映射。它使用仅由编译器和调试器并不影响代码编译。

    此指令允许包括从外部代码文件外部的代码到一个源代码文件。

    此指令的语法是︰

    #ExternalSource( StringLiteral , IntLiteral )
        [ LogicalLine ]
    #End ExternalSource
    
      2
    • 3

    #ExternalSource伪指令的参数是外部文件的路径,第一行的行号和发生错误的行。

    示例

    以下代码演示了伪指令的使用:

    Module mydirectives
        Public Class ExternalSourceTester
    
            Sub TestExternalSource()
    
            #ExternalSource("c:vbprogsdirectives.vb", 5)
                Console.WriteLine("This is External Code. ")
            #End ExternalSource
    
            End Sub
        End Class
    
        Sub Main()
            Dim t As New ExternalSourceTester()
            t.TestExternalSource()
            Console.WriteLine("In Main.")
            Console.ReadKey()
    
        End Sub
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    当上述代码被编译和执行时,它产生了以下结果:

    This is External Code.
    In Main.

    The #If…Then…#Else 指令
    此伪指令有条件地编译所选的Visual Basic代码块。

    此伪指令的语法是:

    #If expression Then
       statements
    [ #ElseIf expression Then
       [ statements ]
    ...
    #ElseIf expression Then
       [ statements ] ]
    [ #Else
       [ statements ] ]
    #End If
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    例如,

    #Const TargetOS = "Linux"
    #If TargetOS = "Windows 7" Then
       ' Windows 7 specific code
    #ElseIf TargetOS = "WinXP" Then
       ' Windows XP specific code
    #Else
       ' Code for other OS
    #End if
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    示例

    下面的代码演示一个假设使用的指令:

    Module mydirectives
    #Const classCode = 8
    
       Sub Main()
       #If classCode = 7 Then
            Console.WriteLine("Exam Questions for Class VII")
       #ElseIf classCode = 8 Then
            Console.WriteLine("Exam Questions for Class VIII")
       #Else
            Console.WriteLine("Exam Questions for Higher Classes")
       #End If
            Console.ReadKey()
    
        End Sub
    End Module
    
      2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    当上述代码被编译和执行时,它产生了以下结果:

    Exam Questions for Class VIII

    The #Region指令
    此伪指令有助于在Visual Basic文件中折叠和隐藏代码段。

    此伪指令的语法是:

    #Region "identifier_string" 
    #End Region
    
      2

    例如,

    #Region "StatsFunctions" 
        ' Insert code for the Statistical functions here.
    #End Region
    
      2
    • 3

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载