Directives

7 November 2016

Directives คือชุดคำสั่งที่ประมวลผลโดย Preprocessor ก่อนที่โปรแกรมจะทำการคอมไพล์ หรือในบางทีเรียกว่า Preprocessor Directives มันเป็นชุดคำสั่งสำหรับควบคุมการทำงานของ Preprocessor สำหรับการประมวลผลซอสโค้ดในภาษา Visual Basic ยกตัวอย่างเช่น กำหนดส่วนของโปรแกรมสำหรับการคอมไพล์ การสร้างเงื่อนไขสำหรับการคอมไพล์ การนำเข้าโค้ดจากไฟล์ภายนอกของโปรแกรม หรือการกำหนดขอบเขตการทำงานของโค้ดออกเป็นส่วนๆ เป็นต้น

ในบทนี้ คุณจะได้เรียนรู้การใช้งานของ Directives แบบต่างในภาษา Visual Basic และวัตถุประสงค์การใช้งานของมัน ซึ่งในภาษา Visual Basic นั้นมีคำสั่งต่างๆ ดังนี้

#Const Directive

#Const Directive เป็นคำสั่งสำหรับกำหนดค่าคงที่ในการคอมไพล์ของโปรแกรม โดยค่าคงที่ที่สามารถกำหนดให้กับ Directive นั้นจะเป็น Literals ใดๆ เช่น ตัวเลข ตัวอักษร หรือ String เป็นต้น

#Const Name = "MarcusCode"
#Const Version = "1.0.0"
#Const Year = 2016

นี่เป็นตัวอย่างในการประกาศ #Const Directive โดยการใช้คำสั่ง #Const และตามด้วยการกำหนดค่าให้กับค่าคงที่ ในตัวอย่างเราได้ประกาศ 3 ตัวแปร Name และ Version เป็นค่าคงที่แบบ String ส่วน Year เป็นแบบตัวเลข

คุณสามารถใช้ค่าเหล่านี้ได้จากชื่อของมันโดยตรงในซอสโค้ด เช่น เมื่อคุณใช้ Directive Name ที่ตำแหน่งใดๆ ในซอสโค้ดของคุณ เมื่อโปแกรมคอมไพล์ มันจะทำการแทนที่ Directive เป็น "MarcusCode" ทั้งหมด

#ExternalSource Directive

#ExternalSource Directive เป็นคำสั่งสำหรับนำเข้าซอสโค้ดจากภายนอกเข้ามาในโปรแกรม โดยคำสั่งนี้ใช้สำหรับคอมไพเลอร์และ Debugger เท่านั้น ซึ่งไม่มีผลต่อการทำงาน

Module ExternalSource

    Sub Main()
#ExternalSource ("c:\marcuscode\source.vb", 10)
        Console.WriteLine("In test.aspx")
#End ExternalSource
    End Sub

End Module

ในตัวอย่างเป็นการใช้งาน #ExternalSource Directive ซึ่งจะมีพารามิเตอร์สองตัวคือ ที่อยู่ของไฟล์ และหมายเลของบรรทัดแรกของไฟล์ที่นำเข้ามา

#If...Then...#Else Directives

#If Then #Else Directives เป็นคำสั่งสำหรับการตรวจสอบเงื่อนไขค่าคงที่ที่สร้างโดย #Const Directive โดยถ้าเงื่อนไขเป็นจริง ซอสโค้ดภายในจะถูกคอมไพล์ มันสามารถมีคำสั่ง Else clause ซึ่งมีการทำงานเช่นเดียวกับคำสั่งเลือกเงื่อนไข If Else แต่นี่เกิดขึ้นในตอนคอมไพล์แทน

#Const Version = 3
#If Version = 3 Then
' Compile code for version 3
#ElseIf Version = 2 Then
' Compile code for version 2
#Else
' Compile code for other version
#End If

ในตัวอย่างเป็นการเปรียบเทียบค่าคงที่ Version สำหรับการคอมไพล์โปรแกรมซึ่งขึ้นอยู่กับเวอร์ชันที่เราได้กำหนดไว้ในเงื่อนไข เช่น ถ้ามีค่าเป็น 3 เราจะทำการคอมไพล์เฉพาะในบล็อคของเวอร์ชัน 3 เท่านั้น ซึ่งคำสั่งนี้จะทำให้ลดเวลาในการคอมไพล์โปรแกรมสำหรับส่วนที่ไม่จำเป็นออกไป และในบางครั้งช่วยให้โปรแกรมมีขนาดเล็กลงได้ เพราะโค้ดบางส่วนได้ถูกตัดออกไปในตอนคอมไพล์โปรแกรม

#Region Directive

#Region Directive คือคำสั่งที่ใช้สำหรับกำหนดส่วนของโค้ดในโปรแกรม เพื่อให้มันสามารถย่อขยายได้โดยการใช้คุณสมบัติใน Visual Studio มันมักจะใช้สำหรับอธิบายหรือจัดกลุ่มของโค้ดให้เป็นส่วนๆ เพื่อให้ง่ายต่อการอ่านและตรวจสอบ โดยคำสั่งสามารถซ้อนกันได้ นี่เป็นตัวอย่างการใช้งาน #Region Directive ในภาษา Visual Basic

Class RegionExample

#Region "Variable declaration"
    Dim var1 As String
    Dim var2 As Integer
#End Region

#Region "Test method"
    Sub Test1()
    End Sub

    Sub Test2()
    End Sub
#End Region

End Class

ในการใช้งานจะขึ้นต้นด้วยคำสั่ง #Region ตามด้วย String สำหรับอธิบายเกี่ยวกับ Region และจบบล็อคด้วยคำสั่ง #End Region ในตัวอย่างเราได้ใช้ Region Directive ในการกำหนดช่วงของการประกาศตัวแปร และช่วงของการประกาศเมธอด ซึ่งจะช่วยให้โค้ดถูกแบ่งเป็นหมวดหมู่ และคุณสามารถใช้คุณสมบัติในโปรแกรม Visual Studio ในการย่อหรือขยายคำสั่งนี้ได้ ซึ่งเป็นการอำนวยความสะดวกเป็นอย่างมากในกรณีที่คุณต้องจัดการจำโค้ดหลายร้อยบรรทัดในไฟล์เดียว

ในบทนี้ เราได้พูดถึงการใช้งาน Directives รูปแบบต่างๆ ในภาษา Visual Basic คุณได้เรียนรู้ในตัวอย่างการใช้งานของคำสั่งชนิดต่างๆ

บทความนี้เป็นประโยชน์หรือไม่?Yes·No