C# - Debug vagy Release módban lett-e lefordítva az alkalmazás?

forráskód letöltése
Ebben a cikkünkben a címben megfogalmazott kérdésre keressük a választ, melyet jól használhatunk, ha arra lenne szükségünk, hogy programunk futása alatt kell eldöntenünk, hogy az milyen módban lett lefordítva.
A feladat megoldásához nincs más teendőnk mint egy egyszerű attribútumot megadni a függvényünknél. E függvénynek lesz az a feladata, hogy jelezze alkalmazásunkban azt az esetet, ha Debug módban lett a program lefordítva. A függvény előtt a Conditional attribútumot kell megadnunk az alábbi módon. Ennek hatására a Test1 nevű függvényünk kódja csak a Debug fordítási mód esetén kerül futtatásra.
    [Conditional("DEBUG")] 
    private void Test1()
    {
      label1.Text = "debug";
    }
Ha tehát a program futási ideje alatt a button1 nyomógombra kattintunk, akkor meghívásra kerül a Test1 függvény, mely csak abban az esetben jelez eredményt, ha a programunk Debug módban készült.
    private void button1_Click(object sender, System.EventArgs e)
    {
      Test1();
    }