Csharp/CSharp Tutorial/Preprocessing Directives/undef

Материал из .Net Framework эксперт
Версия от 12:17, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

define OS constant for compilation

#define win2000
#define release
#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();
    }
}

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


#undef symbol