แอตทริบิวต์ใช้สำหรับเพิ่มข้อมูลเมตา เช่น คำสั่งคอมไพเลอร์ และข้อมูลอื่นๆ เช่น ความคิดเห็น คำอธิบาย เมธอด และคลาสในโปรแกรม
แอตทริบิวต์ที่กำหนดไว้ล่วงหน้านี้ทำเครื่องหมายวิธีการแบบมีเงื่อนไขซึ่งการดำเนินการขึ้นอยู่กับตัวระบุการประมวลผลล่วงหน้าที่ระบุ
ทำให้เกิดการรวบรวมแบบมีเงื่อนไขของการเรียกเมธอด ขึ้นอยู่กับค่าที่ระบุ เช่น Debug หรือ Trace ตัวอย่างเช่น มันแสดงค่าของตัวแปรในขณะที่ทำการดีบั๊กโค้ด
ต่อไปนี้เป็นไวยากรณ์ของแอตทริบิวต์ตามเงื่อนไข -
[Conditional( conditionalSymbol )]
ให้เราดูวิธีการทำงานกับแอตทริบิวต์แบบมีเงื่อนไข -
ตัวอย่าง
#define DEBUG using System; using System.Diagnostics; public class Myclass { [Conditional("DEBUG")] public static void Message(string msg) { Console.WriteLine(msg); } } class Test { static void function1() { Myclass.Message("In Function 1"); function2(); } static void function2() { Myclass.Message("In Function 2"); } public static void Main() { Myclass.Message("In Main function"); function1(); Console.ReadKey(); } }
ผลลัพธ์
In Main function In Function 1 In Function 2