แอตทริบิวต์ใช้สำหรับเพิ่มข้อมูลเมตา เช่น คำสั่งคอมไพเลอร์ และข้อมูลอื่นๆ เช่น ความคิดเห็น คำอธิบาย เมธอด และคลาสในโปรแกรม
แอตทริบิวต์ที่กำหนดไว้ล่วงหน้านี้ทำเครื่องหมายวิธีการแบบมีเงื่อนไขซึ่งการดำเนินการขึ้นอยู่กับตัวระบุการประมวลผลล่วงหน้าที่ระบุ
ทำให้เกิดการรวบรวมแบบมีเงื่อนไขของการเรียกเมธอด ขึ้นอยู่กับค่าที่ระบุ เช่น 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