C#.NET * C++ * JAVASCRIPT * PYTHON * DIVERSES
XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT



C#.NET / C#.NET Grundlagen / C#.NET Präprozessor

C#.NET Präprozessor

C#.NET Präprozessor

➪ Präprozessor

Auf dieser Seite:

DEBUG


#define DEBUG

        static void Praeprozessordemo()
        {
            Console.WriteLine("Start");
#if DEBUG
            Debug.WriteLine("Nur zum Test!");
#endif
            Console.WriteLine("Moin");
        }

Die Ausgabe auf der Konsole lautet:


Start
Moin

Im separaten Ausgabefenster (STRG+ALT+O) finden Sie die Meldung:


Nur zum Test!

De facto landet auch der Debug-Aufruf in der IL und damit im produktiven Code. Das können Sie mit ildasm.exe unschwer feststellen:


.method private hidebysig static void  Praeprozessordemo() cil managed
{
  // Code size       35 (0x23)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ldstr      "Start"
  IL_0006:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_000b:  nop
  IL_000c:  ldstr      "Nur zum Test!"
  IL_0011:  call       void [System]System.Diagnostics.Debug::WriteLine(string)
  IL_0016:  nop
  IL_0017:  ldstr      "Moin"
  IL_001c:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_0021:  nop
  IL_0022:  ret
} // end of method Program::Praeprozessordemo

wg / 4. April 2021



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/cs_praeprozessor.html