Afficher en anglais

Partage via


CodeCompileUnit Classe

Définition

Fournit un conteneur pour un graphique de programme CodeDOM.

C#
public class CodeCompileUnit : System.CodeDom.CodeObject
C#
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeCompileUnit : System.CodeDom.CodeObject
Héritage
CodeCompileUnit
Dérivé
Attributs

Exemples

L’exemple de code suivant construit un CodeCompileUnit qui modélise la structure du programme d’un programme simple « Hello World ». Cet exemple de code fait partie d’un exemple plus grand qui produit également du code à partir de ce modèle et est fourni pour la CodeDomProvider classe .

C#
// Build a Hello World program graph using
// System.CodeDom types.
public static CodeCompileUnit BuildHelloWorldGraph()
{
    // Create a new CodeCompileUnit to contain
    // the program graph.
    CodeCompileUnit compileUnit = new CodeCompileUnit();

    // Declare a new namespace called Samples.
    CodeNamespace samples = new CodeNamespace("Samples");
    // Add the new namespace to the compile unit.
    compileUnit.Namespaces.Add(samples);

    // Add the new namespace import for the System namespace.
    samples.Imports.Add(new CodeNamespaceImport("System"));

    // Declare a new type called Class1.
    CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
    // Add the new type to the namespace type collection.
    samples.Types.Add(class1);

    // Declare a new code entry point method.
    CodeEntryPointMethod start = new CodeEntryPointMethod();

    // Create a type reference for the System.Console class.
    CodeTypeReferenceExpression csSystemConsoleType = new CodeTypeReferenceExpression("System.Console");

    // Build a Console.WriteLine statement.
    CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression(
        csSystemConsoleType, "WriteLine",
        new CodePrimitiveExpression("Hello World!"));

    // Add the WriteLine call to the statement collection.
    start.Statements.Add(cs1);

    // Build another Console.WriteLine statement.
    CodeMethodInvokeExpression cs2 = new CodeMethodInvokeExpression(
        csSystemConsoleType, "WriteLine",
        new CodePrimitiveExpression("Press the Enter key to continue."));

    // Add the WriteLine call to the statement collection.
    start.Statements.Add(cs2);

    // Build a call to System.Console.ReadLine.
    CodeMethodInvokeExpression csReadLine = new CodeMethodInvokeExpression(
        csSystemConsoleType, "ReadLine");

    // Add the ReadLine statement.
    start.Statements.Add(csReadLine);

    // Add the code entry point method to
    // the Members collection of the type.
    class1.Members.Add(start);

    return compileUnit;
}

Remarques

CodeCompileUnit fournit un conteneur pour un graphe de programme CodeDOM.

CodeCompileUnit contient une collection qui peut stocker CodeNamespace des objets contenant des graphiques de code source CodeDOM, ainsi qu’une collection d’assemblys référencés par le projet et une collection d’attributs pour l’assembly de projet.

Un CodeCompileUnit peut être passé à la GenerateCodeFromCompileUnit méthode d’une ICodeGenerator implémentation avec d’autres paramètres pour générer du code basé sur le graphe de programme contenu par l’unité de compilation.

Remarque

Certaines langues ne prennent en charge qu’un seul espace de noms qui contient une seule classe dans une unité de compilation.

Constructeurs

CodeCompileUnit()

Initialise une nouvelle instance de la classe CodeCompileUnit.

Propriétés

AssemblyCustomAttributes

Obtient une collection d'attributs personnalisés pour l'assembly généré.

EndDirectives

Obtient un objet CodeDirectiveCollection qui contient des directives de fin.

Namespaces

Obtient la collection d'espaces de noms.

ReferencedAssemblies

Obtient les assemblys référencés.

StartDirectives

Obtient un objet CodeDirectiveCollection qui contient des directives de début.

UserData

Obtient les données définissables par l'utilisateur pour l'objet en cours.

(Hérité de CodeObject)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9