Учебники

VB.Net — Директивы

Директивы компилятора VB.Net дают инструкции компилятору предварительно обработать информацию перед началом фактической компиляции. Все эти директивы начинаются с #, и перед директивой в строке могут появляться только символы пробела. Эти директивы не являются заявлениями.

Компилятор VB.Net не имеет отдельного препроцессора; однако директивы обрабатываются так, как если бы они были. В VB.Net директивы компилятора используются для помощи в условной компиляции. В отличие от директив C и C ++, они не используются для создания макросов.

Директивы компилятора в VB.Net

VB.Net предоставляет следующий набор директив компилятора —

  • Директива #Const

  • Директива #ExternalSource

  • # Если … Тогда … # Другие директивы

  • Директива #Region

Директива #Const

Директива #ExternalSource

# Если … Тогда … # Другие директивы

Директива #Region

Директива #Const

Эта директива определяет условные константы компилятора. Синтаксис этой директивы —

#Const constname = expression

Куда,

  • constname — указывает имя константы. Необходимые.

  • Выражение — это либо литеральная, либо другая условная константа компилятора, либо комбинация, включающая любые или все арифметические или логические операторы, кроме Is .

constname — указывает имя константы. Необходимые.

Выражение — это либо литеральная, либо другая условная константа компилятора, либо комбинация, включающая любые или все арифметические или логические операторы, кроме Is .

Например,

#Const state = "WEST BENGAL"

пример

Следующий код демонстрирует гипотетическое использование директивы —

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

You are welcome to the Robotics Club

Директива #ExternalSource

Эта директива используется для указания соответствия между конкретными строками исходного кода и текстом, внешним по отношению к источнику. Он используется только компилятором, а отладчик не влияет на компиляцию кода.

Эта директива позволяет включать внешний код из файла внешнего кода в файл исходного кода.

Синтаксис этой директивы —

#ExternalSource( StringLiteral , IntLiteral )
   [ LogicalLine ]
#End ExternalSource

Параметры директивы #ExternalSource — это путь к внешнему файлу, номер строки в первой строке и строка, в которой произошла ошибка.

пример

Следующий код демонстрирует гипотетическое использование директивы —

Module mydirectives
   Public Class ExternalSourceTester

      Sub TestExternalSource()

      #ExternalSource("c:\vbprogs\directives.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

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

This is External Code.
In Main.

# Если … Тогда … # Другие директивы

Эта директива условно компилирует выбранные блоки кода Visual Basic.

Синтаксис этой директивы —

#If expression Then
   statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

Например,

#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

пример

Следующий код демонстрирует гипотетическое использование директивы —

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —

Exam Questions for Class VIII

Директива #Region

Эта директива помогает свернуть и скрыть участки кода в файлах Visual Basic.

Синтаксис этой директивы —

#Region "identifier_string" 
#End Region

Например,