Csharp/CSharp Tutorial/Preprocessing Directives/undef

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

define OS constant for compilation

<source lang="csharp">#define win2000

  1. define release
  2. undef win98

using System; using System.Diagnostics; class MainClass {

   [Conditional("DEBUG")]
   public static void DumpState()
   {
       Console.WriteLine("Dump some state...");
   }
   public static void Main()
   {
      string platformName;
      #if winXP         //Compiling for Windows XP
          platformName = "Microsoft Windows XP";
      #elif win2000     // Compiling for Windows 2000
          platformName = "Microsoft Windows 2000";
      #elif winNT       // Compiling for Windows NT
          platformName = "Microsoft Windows NT";
      #elif win98       // Compiling for Windows 98
          platformName = "Microsoft Windows 98";
      #else              // Unknown platform specified
          platformName = "Unknown";
      #endif
      Console.WriteLine(platformName);
      // Call the conditional DumpState method
      DumpState();
   }

}</source>

Use #define and #undef to control the program logic

  1. The #undef directive removes a previously defined definition.
  2. The #undef directive "undefines" a symbol.

The general form for #undef is


<source lang="csharp">#undef symbol</source>