Using directive ใน .NET Core 3 และ C#8

Using directive ใน .NET Core 3 และ C#8
นอกจากการจะใช้คำสั่ง using เพื่อทำ Using declarations ซึ่งเป็นการใช้กับการประกาศตัวแปรหรือ Object ภายในไฟล์ ซึ่งสามารถอ่านได้ที่บทความ Using declarations ใน .NET Core 3 และ C#8ภาษา C# ยังมีการใช้คำสั่ง using ในลักษณะอื่นอีกได้แก่
- การใช้ using เพื่อการกำหนด namespace ที่ต้องการอ้างถึงเพื่ออำนวยความสะดวกให้ไม่ต้องอ้างถึงคลาสหรือสิ่งต่าง ๆ แบบ fully qualify

รูปที่ 1 คือโค้ดแสดงคำสั่งการใช้งาน StringBuilder เพื่อจัดเก็บข้อมูล
- บรรทัดที่ 2 มีการใช้คำสั่ง using เพื่ออ้างอิงถึง namespace System.Text ซึ่ง class StringBuilder ถูกกำหนดให้จัดอยู่ใน namespace นี้
- บรรทัดที่ 10 มีคำสั่งสร้างออกเจ็คก์ชื่อ data1 จาก class StringBuilder ซึ่งเขียนแบบ fully qualify อ้างอิง class จาก namespace System.Text หรือการอ้างแบบเต็มนั้นเอง
- บรรทัดที่ 12 เนื่องจากในบรรทัดที่ 2 มีการใช้คำสั่ง using อ้างอิง namespace System.Text แล้ว ดังนั้นจึงสามารถสร้างออกเจ็คก์ชื่อ data2 จาก class StringBuilder โดยไม่จำเป็นต้องกำหนด namespace ก็ได้ ซึ่งจะเห็นว่าคำสั่งสั้นและกระชับกว่าคำสั่งบรรทัดที่ 10
- การใช้ using เพื่อสร้าง alias ให้แก่ namespace หรือ type เพื่อความสั้นง่ายในการอ้างถึง
รูปที่ 2 คือโค้ดแสดงการใช้งาน Using directive alias
- บรรทัดที่ 4: แสดงการทำ alias directive ต่อ class
- บรรทัดที่ 7: แสดงการทำ alias directive ต่อ generic class
- บรรทัดที่ 9-17: definition ของ class MyClass ที่อยู่ภายใน NameSpace1
- บรรทัดที่ 20-29: definition ของ class MyClass แบบ generic ที่อยู่ภายใน NameSpace2
- บรรทัดที่ 37: แสดงการใช้ alias directive ชื่อ AliasToMyClass เพื่อสร้าง object
- บรรทัดที่ 40: แสดงการใช้ alias directive ชื่อ UsingAlias เพื่อสร้าง object
- บรรทัดที่ 46,47: ผลลัพธ์การทำงานของโปรแกรม
- การใช้ using เพื่อให้สามารถอ้างถึง static members และ nested types ของ type ได้โดยไม่ต้องอ้างถึงคลาสหรือสิ่งต่าง ๆ แบบ fully qualify
รูปที่ 3 คือโค้ดแสดงการใช้ using static directive เพื่อสร้าง static member ของ class Console, Math, String
เราอาจใช้คำสั่ง using ร่วมกับคำสั่ง static เพื่อเพื่อสร้าง static member ได้ รูปที่ 3 คือโค้ดแสดงการใช้ using static directive เพื่อสร้าง static member ของ class Console, Math, String การทำเช่นนี้จะช่วยให้เราสามารถอ้างถึงสมาชิกภายใน class Console, Math, String ได้โดยไม่ต้องระบุที่มา ต่อไปนี้เป็นคำอธิบายโค้ด
จากบทความนี้ ท่านผู้อ่านน่าจะเข้าใจความหมายของ Using directive และสามารถนำไปประยุกต์ในการเขียน code ได้มากขึ้น
เราอาจใช้คำสั่ง using ร่วมกับคำสั่ง static เพื่อเพื่อสร้าง static member ได้ รูปที่ 3 คือโค้ดแสดงการใช้ using static directive เพื่อสร้าง static member ของ class Console, Math, String การทำเช่นนี้จะช่วยให้เราสามารถอ้างถึงสมาชิกภายใน class Console, Math, String ได้โดยไม่ต้องระบุที่มา ต่อไปนี้เป็นคำอธิบายโค้ด
- บรรทัดที่ 10: อ้างถึง method Write โดยไม่ต้องระบุ type name Console
- บรรทัดที่ 17-20: อ้างถึง method Format โดยไม่ต้องระบุ type name Sting
- บรรทัดที่ 21: อ้างถึง method WriteLine โดยไม่ต้องระบุ type name Console
- บรรทัดที่ 25: อ้างถึง method WriteLine โดยไม่ต้องระบุ type name Console
- บรรทัดที่ 46: อ้างถึง Constance โดยไม่ต้องระบุ type name Math
จากบทความนี้ ท่านผู้อ่านน่าจะเข้าใจความหมายของ Using directive และสามารถนำไปประยุกต์ในการเขียน code ได้มากขึ้น