VBCodeProvider VBCodeProvider VBCodeProvider VBCodeProvider Class

Définition

Fournit l'accès aux instances du générateur de code et du compilateur de code Visual Basic.Provides access to instances of the Visual Basic code generator and code compiler.

public ref class VBCodeProvider : System::CodeDom::Compiler::CodeDomProvider
public class VBCodeProvider : System.CodeDom.Compiler.CodeDomProvider
type VBCodeProvider = class
    inherit CodeDomProvider
Public Class VBCodeProvider
Inherits CodeDomProvider
Héritage

Exemples

L’exemple suivant utilise le C# fournisseur de code ou Visual Basic pour compiler un fichier source.The following example uses either the C# or Visual Basic code provider to compile a source file. L’exemple vérifie l’extension du fichier d’entrée et utilise CSharpCodeProvider le VBCodeProvider ou le correspondant pour la compilation.The example checks the input file extension and uses the corresponding CSharpCodeProvider or VBCodeProvider for compilation. Le fichier d’entrée est compilé dans un fichier exécutable, et toutes les erreurs de compilation sont affichées sur la console.The input file is compiled into an executable file, and any compilation errors are displayed to the console.

public static bool CompileExecutable(String sourceName)
{
    FileInfo sourceFile = new FileInfo(sourceName);
    CodeDomProvider provider = null;
    bool compileOk = false;

    // Select the code provider based on the input file extension.
    if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".CS")
    {
        provider = CodeDomProvider.CreateProvider("CSharp");
    }
    else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".VB")
    {
        provider = CodeDomProvider.CreateProvider("VisualBasic");
    }
    else 
    {
        Console.WriteLine("Source file must have a .cs or .vb extension");
    }

    if (provider != null)
    {

        // Format the executable file name.
        // Build the output assembly path using the current directory
        // and <source>_cs.exe or <source>_vb.exe.

        String exeName = String.Format(@"{0}\{1}.exe", 
            System.Environment.CurrentDirectory, 
            sourceFile.Name.Replace(".", "_"));

        CompilerParameters cp = new CompilerParameters();

        // Generate an executable instead of 
        // a class library.
        cp.GenerateExecutable = true;

        // Specify the assembly file name to generate.
        cp.OutputAssembly = exeName;

        // Save the assembly as a physical file.
        cp.GenerateInMemory = false;

        // Set whether to treat all warnings as errors.
        cp.TreatWarningsAsErrors = false;

        // Invoke compilation of the source file.
        CompilerResults cr = provider.CompileAssemblyFromFile(cp, 
            sourceName);

        if(cr.Errors.Count > 0)
        {
            // Display compilation errors.
            Console.WriteLine("Errors building {0} into {1}",  
                sourceName, cr.PathToAssembly);
            foreach(CompilerError ce in cr.Errors)
            {
                Console.WriteLine("  {0}", ce.ToString());
                Console.WriteLine();
            }
        }
        else
        {
            // Display a successful compilation message.
            Console.WriteLine("Source {0} built into {1} successfully.",
                sourceName, cr.PathToAssembly);
        }
      
        // Return the results of the compilation.
        if (cr.Errors.Count > 0)
        {
            compileOk = false;
        }
        else 
        {
            compileOk = true;
        }
    }
    return compileOk;
}
Public Shared Function CompileExecutable(sourceName As String) As Boolean
    Dim sourceFile As FileInfo = New FileInfo(sourceName)
    Dim provider As CodeDomProvider = Nothing
    Dim compileOk As Boolean = False

    ' Select the code provider based on the input file extension.
    If sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".CS"

        provider = CodeDomProvider.CreateProvider("CSharp")

    ElseIf sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".VB"

        provider = CodeDomProvider.CreateProvider("VisualBasic")

    Else
        Console.WriteLine("Source file must have a .cs or .vb extension")
    End If

    If Not provider Is Nothing

        ' Format the executable file name.
        ' Build the output assembly path using the current directory
        ' and <source>_cs.exe or <source>_vb.exe.

        Dim exeName As String = String.Format("{0}\{1}.exe", _
            System.Environment.CurrentDirectory, _
            sourceFile.Name.Replace(".", "_"))

        Dim cp As CompilerParameters = new CompilerParameters()

        ' Generate an executable instead of 
        ' a class library.
        cp.GenerateExecutable = True

        ' Specify the assembly file name to generate.
        cp.OutputAssembly = exeName

        ' Save the assembly as a physical file.
        cp.GenerateInMemory = False

        ' Set whether to treat all warnings as errors.
        cp.TreatWarningsAsErrors = False

        ' Invoke compilation of the source file.
        Dim cr As CompilerResults = provider.CompileAssemblyFromFile(cp, _
            sourceName)

        If cr.Errors.Count > 0
            ' Display compilation errors.
            Console.WriteLine("Errors building {0} into {1}", _
                sourceName, cr.PathToAssembly)

            Dim ce As CompilerError
            For Each ce In cr.Errors
                Console.WriteLine("  {0}", ce.ToString())
                Console.WriteLine()
            Next ce
        Else
            ' Display a successful compilation message.
            Console.WriteLine("Source {0} built into {1} successfully.", _
                sourceName, cr.PathToAssembly)
        End If
      
        ' Return the results of the compilation.
        If cr.Errors.Count > 0
            compileOk = False
        Else 
            compileOk = True
        End If
    End If
    return compileOk

End Function

Remarques

Cette classe fournit des méthodes qui peuvent être utilisées pour récupérer des instances du ICodeGenerator Visual Basic ICodeCompiler et des implémentations.This class provides methods that can be used to retrieve instances of the Visual Basic ICodeGenerator and ICodeCompiler implementations.

Notes

Cette classe contient une demande de liaison et une demande d’héritage au niveau de la classe qui s’applique à tous les membres.This class contains a link demand and an inheritance demand at the class level that applies to all members. Une SecurityException exception est levée lorsque l’appelant immédiat ou la classe dérivée ne dispose pas d’une autorisation de confiance totale.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission.

Constructeurs

VBCodeProvider() VBCodeProvider() VBCodeProvider() VBCodeProvider()

Initialise une nouvelle instance de la classe VBCodeProvider.Initializes a new instance of the VBCodeProvider class.

VBCodeProvider(IDictionary<String,String>) VBCodeProvider(IDictionary<String,String>) VBCodeProvider(IDictionary<String,String>) VBCodeProvider(IDictionary<String,String>)

Initialise une nouvelle instance de la classe VBCodeProvider en utilisant les options de fournisseur spécifiées.Initializes a new instance of the VBCodeProvider class by using the specified provider options.

Propriétés

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

Obtient le IContainer qui contient Component.Gets the IContainer that contains the Component.

(Inherited from Component)
DesignMode DesignMode DesignMode DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
FileExtension FileExtension FileExtension FileExtension

Obtient l'extension du nom de fichier à utiliser lors de la création de fichiers de code source.Gets the file name extension to use when creating source code files.

LanguageOptions LanguageOptions LanguageOptions LanguageOptions

Obtient un identificateur de fonctionnalités de langage.Gets a language features identifier.

Site Site Site Site

Obtient ou définit le ISite de Component.Gets or sets the ISite of the Component.

(Inherited from Component)

Méthodes

CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[])

Compile un assembly basé sur les arborescences System.CodeDom contenues dans le tableau d'objets CodeCompileUnit spécifié, à l'aide des paramètres du compilateur spécifiés.Compiles an assembly based on the System.CodeDom trees contained in the specified array of CodeCompileUnit objects, using the specified compiler settings.

(Inherited from CodeDomProvider)
CompileAssemblyFromFile(CompilerParameters, String[]) CompileAssemblyFromFile(CompilerParameters, String[]) CompileAssemblyFromFile(CompilerParameters, String[]) CompileAssemblyFromFile(CompilerParameters, String[])

Compile un assembly à partir du code source contenu dans les fichiers spécifiés, à l'aide des paramètres du compilateur spécifiés.Compiles an assembly from the source code contained in the specified files, using the specified compiler settings.

(Inherited from CodeDomProvider)
CompileAssemblyFromSource(CompilerParameters, String[]) CompileAssemblyFromSource(CompilerParameters, String[]) CompileAssemblyFromSource(CompilerParameters, String[]) CompileAssemblyFromSource(CompilerParameters, String[])

Compile un assembly à partir du tableau de chaînes spécifié contenant le code source, à l'aide des paramètres du compilateur spécifiés.Compiles an assembly from the specified array of strings containing source code, using the specified compiler settings.

(Inherited from CodeDomProvider)
CreateCompiler() CreateCompiler() CreateCompiler() CreateCompiler()

Obtient une instance du compilateur de code Visual Basic.Gets an instance of the Visual Basic code compiler.

CreateEscapedIdentifier(String) CreateEscapedIdentifier(String) CreateEscapedIdentifier(String) CreateEscapedIdentifier(String)

Crée un identificateur avec séquence d'échappement pour la valeur spécifiée.Creates an escaped identifier for the specified value.

(Inherited from CodeDomProvider)
CreateGenerator() CreateGenerator() CreateGenerator() CreateGenerator()

Obtient une instance du générateur de code Visual Basic.Gets an instance of the Visual Basic code generator.

CreateGenerator(String) CreateGenerator(String) CreateGenerator(String) CreateGenerator(String)

En cas de substitution dans une classe dérivée, crée un nouveau générateur de code à l'aide du nom de fichier spécifié pour la sortie.When overridden in a derived class, creates a new code generator using the specified file name for output.

(Inherited from CodeDomProvider)
CreateGenerator(TextWriter) CreateGenerator(TextWriter) CreateGenerator(TextWriter) CreateGenerator(TextWriter)

En cas de substitution dans une classe dérivée, crée un nouveau générateur de code à l'aide du TextWriter spécifié pour la sortie.When overridden in a derived class, creates a new code generator using the specified TextWriter for output.

(Inherited from CodeDomProvider)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateParser() CreateParser() CreateParser() CreateParser()

En cas de substitution dans une classe dérivée, crée un nouvel analyseur de code.When overridden in a derived class, creates a new code parser.

(Inherited from CodeDomProvider)
CreateValidIdentifier(String) CreateValidIdentifier(String) CreateValidIdentifier(String) CreateValidIdentifier(String)

Crée un identificateur valide pour la valeur spécifiée.Creates a valid identifier for the specified value.

(Inherited from CodeDomProvider)
Dispose() Dispose() Dispose() Dispose()

Libère toutes les ressources utilisées par Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

Génère du code pour l'unité de compilation CodeDOM (Code Document Object Model) spécifiée et l'envoie au writer de texte spécifié, à l'aide des options définies.Generates code for the specified Code Document Object Model (CodeDOM) compilation unit and sends it to the specified text writer, using the specified options.

(Inherited from CodeDomProvider)
GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

Génère du code pour l'expression CodeDOM (Code Document Object Model) spécifiée et l'envoie au writer de texte spécifié, à l'aide des options définies.Generates code for the specified Code Document Object Model (CodeDOM) expression and sends it to the specified text writer, using the specified options.

(Inherited from CodeDomProvider)
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions)

Génère du code pour le membre de classe spécifié en utilisant les options spécifiées du TextWriter et du générateur de code.Generates code for the specified class member using the specified text writer and code generator options.

GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Génère du code pour l'espace de noms CodeDOM (Code Document Object Model) spécifié et l'envoie au writer de texte spécifié, à l'aide des options définies.Generates code for the specified Code Document Object Model (CodeDOM) namespace and sends it to the specified text writer, using the specified options.

(Inherited from CodeDomProvider)
GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

Génère du code pour l'instruction CodeDOM (Code Document Object Model) spécifiée et l'envoie au writer de texte spécifié, à l'aide des options définies.Generates code for the specified Code Document Object Model (CodeDOM) statement and sends it to the specified text writer, using the specified options.

(Inherited from CodeDomProvider)
GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

Génère du code pour la déclaration de type CodeDOM (Code Document Object Model) spécifiée et l'envoie au writer de texte spécifié, à l'aide des options définies.Generates code for the specified Code Document Object Model (CodeDOM) type declaration and sends it to the specified text writer, using the specified options.

(Inherited from CodeDomProvider)
GetConverter(Type) GetConverter(Type) GetConverter(Type) GetConverter(Type)

Obtient un TypeConverter pour le type d'objet spécifié.Gets a TypeConverter for the specified type of object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
GetTypeOutput(CodeTypeReference) GetTypeOutput(CodeTypeReference) GetTypeOutput(CodeTypeReference) GetTypeOutput(CodeTypeReference)

Obtient le type indiqué par le CodeTypeReference spécifié.Gets the type indicated by the specified CodeTypeReference.

(Inherited from CodeDomProvider)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
IsValidIdentifier(String) IsValidIdentifier(String) IsValidIdentifier(String) IsValidIdentifier(String)

Retourne une valeur indiquant si la valeur spécifiée est un identificateur valide pour le langage actuel.Returns a value that indicates whether the specified value is a valid identifier for the current language.

(Inherited from CodeDomProvider)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Parse(TextReader) Parse(TextReader) Parse(TextReader) Parse(TextReader)

Compile le code lu à partir du flux de texte spécifié dans CodeCompileUnit.Compiles the code read from the specified text stream into a CodeCompileUnit.

(Inherited from CodeDomProvider)
Supports(GeneratorSupport) Supports(GeneratorSupport) Supports(GeneratorSupport) Supports(GeneratorSupport)

Retourne une valeur indiquant si la prise en charge de la génération de code spécifiée est fournie.Returns a value indicating whether the specified code generation support is provided.

(Inherited from CodeDomProvider)
ToString() ToString() ToString() ToString()

Retourne un String contenant le nom du Component, s’il en existe un.Returns a String containing the name of the Component, if any. Cette méthode ne doit pas être remplacée.This method should not be overridden.

(Inherited from Component)

Événements

Disposed Disposed Disposed Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Sécurité

LinkDemand
pour une confiance totale pour l’appelant immédiat.for full trust for the immediate caller. Cette classe ne peut pas être utilisée par du code d'un niveau de confiance partiel.This class cannot be used by partially trusted code.

InheritanceDemand
pour une confiance totale pour les héritiers.for full trust for inheritors. Cette classe ne peut pas être héritée par du code de confiance partielle.This class cannot be inherited by partially trusted code.

S’applique à

Voir aussi