/define (C#-Compileroptionen)/define (C# Compiler Options)

Die Option /define definiert name als Symbol in allen Quellcodedateien Ihres Programms.The /define option defines name as a symbol in all source code files your program.

SyntaxSyntax

/define:name[;name2]  

ArgumenteArguments

name, name2name, name2
Der Name eines oder mehrerer Symbole, die Sie definieren möchten.The name of one or more symbols that you want to define.

HinweiseRemarks

Die Option /define hat dieselbe Auswirkung wie die Verwendung einer #define-Präprozessoranweisung, außer dass die Compileroption für alle Dateien im Projekt gültig ist.The /define option has the same effect as using a #define preprocessor directive except that the compiler option is in effect for all files in the project. Ein Symbol bleibt in einer Quelldatei definiert, bis eine #undef-Anweisung in der Quelldatei die Definition entfernt.A symbol remains defined in a source file until an #undef directive in the source file removes the definition. Wenn Sie die Option „/define“ verwenden, hat eine #undef-Anweisung in einer Datei keinerlei Auswirkung auf andere Quellcodedateien im Projekt.When you use the /define option, an #undef directive in one file has no effect on other source code files in the project.

Sie können die durch diese Option erstellten Symbole in Verbindung mit #if, #else, #elif, und #endif verwenden, um Quelldateien bedingt zu kompilieren.You can use symbols created by this option with #if, #else, #elif, and #endif to compile source files conditionally.

/d ist die Kurzform von /define./d is the short form of /define.

Sie können mehrere Symbole mit /define definieren, indem Sie die Symbolnamen jeweils durch ein Semikolon oder Komma voneinander trennen.You can define multiple symbols with /define by using a semicolon or comma to separate symbol names. Zum Beispiel:For example:

/define:DEBUG;TUESDAY  

Der C#-Compiler selbst definiert keine Symbole oder Makros, die Sie in Ihrem Quellcode verwenden können. Alle Symboldefinitionen müssen benutzerdefiniert sein.The C# compiler itself defines no symbols or macros that you can use in your source code; all symbol definitions must be user-defined.

Hinweis

Anders als in Programmiersprachen wie C++ ist es in C# bei Verwendung von #define nicht zulässig, einem Symbol einen Wert zuzuweisen.The C# #define does not allow a symbol to be given a value, as in languages such as C++. Beispielsweise kann #define nicht zum Erstellen eines Makros oder zum Definieren einer Konstante verwendet werden.For example, #define cannot be used to create a macro or to define a constant. Falls Sie eine Konstante definieren müssen, verwenden Sie eine enum-Variable.If you need to define a constant, use an enum variable. Wenn Sie ein C++-übliches Makro erstellen möchten, erwägen Sie Alternativen wie Generika.If you want to create a C++ style macro, consider alternatives such as generics. Da Makros sehr fehleranfällig sind, ist ihre Verwendung in C# nicht zugelassen. Es stehen jedoch sicherere Alternativen zur Verfügung.Since macros are notoriously error-prone, C# disallows their use but provides safer alternatives.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung festTo set this compiler option in the Visual Studio development environment

  1. Öffnen Sie die Eigenschaften-Seite des Projekts.Open the project's Properties page.

  2. Geben Sie auf der Registerkarte Erstellen im Feld Symbole für bedingte Kompilierung das zu definierende Symbol ein.On the Build tab, type the symbol that is to be defined in the Conditional compilation symbols box. Wenn Sie z.B. das folgende Codebeispiel verwenden, geben Sie im Textfeld einfach xx ein.For example, if you are using the code example that follows, just type xx into the text box.

Informationen zum programmgesteuerten Festlegen dieser Compileroption finden Sie unter DefineConstants.For information on how to set this compiler option programmatically, see DefineConstants.

BeispielExample

// 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  
    }  
}  

Siehe auchSee Also

C#-CompileroptionenC# Compiler Options
Verwalten von Projekt- und ProjektmappeneigenschaftenManaging Project and Solution Properties