Sdílet prostřednictvím


/define (Možnosti C# kompilátoru)

Možnost /define definuje name jako symbol ve všech souborech zdrojového kódu programu.

/define:name[;name2]

Arguments

  • name, name2
    Název jednoho nebo více symbolů, které chcete definovat.

Poznámky

Možnost /define má stejný účinek jako použití direktivy preprocesoru #define s tím rozdílem, že možnost kompilátoru platí pro všechny soubory v projektu.Symbol zůstává v souboru zdrojového kódu definován dokud direktiva #undef v souboru zdrojového kódu definici neodstraní.Při použití možnosti /define, směrnice #undef v jednom souboru nemá žádný vliv na jiné soubory zdrojového kódu v projektu.

Symboly vytvořené pomocí této možnosti můžete použít s #if, #else, #elif a #endif, pro podmíněnou kompilaci zdrojových souborů.

/d je zkratka pro /define.

Pomocí /define můžete definovat více symbolů, za použití středníku nebo čárky k oddělení jmen symbolů. Příklad:

/define:DEBUG;TUESDAY

Kompilátor jazyka C# nedefinuje žádné symboly nebo makra, které lze použít ve zdrojovém kódu; všechny definice symbolů musí být definované uživatel.

[!POZNÁMKA]

#define jazyka C# neumožňuje symbolu přiřadit hodnotu, jako je tomu v jazycích podobným C++.Například #define nelze použít, chcete-li vytvořit makro nebo definovat konstantu.Pokud potřebujete definovat konstantu, použijte proměnnou typu enum.Pokud chcete vytvořit makro ve stylu C++, zvažte alternativní řešení, jako například obecné typy.Vzhledem k tomu, že jsou makra náchylné k chybám, C# zakazuje jejich použití, ale poskytuje bezpečnější alternativy.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete stránku Vlastnosti daného projektu.

  2. Na záložce Build zadejte symbol, který definujte v poli Symboly podmíněné kompilace.Používáte-li například kód, který následuje, pouze zadejte xx do textového pole.

Informace o nastavení této možnosti kompilátoru v programu naleznete v tématu DefineConstants.

Příklad

// preprocessor_define.cs
// compile with: /define:xx
// or uncomment the next line
// #define xx
using System;
public class Test 
{
    public static void Main() 
    {
        #if (xx) 
            Console.WriteLine("xx defined");
        #else
            Console.WriteLine("xx not defined");
        #endif
    }
}

Viz také

Úkoly

Jak: Upravte vlastnosti projektu a nastavení konfigurace

Další zdroje

Možnosti C# kompilátoru