/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
Otevřete stránku Vlastnosti daného projektu.
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