Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

VBCodeProvider classe

 

Date de publication : novembre 2016

Donne accès aux instances du générateur de code et du compilateur de code Visual Basic.

Espace de noms:   Microsoft.VisualBasic
Assembly:  System (dans System.dll)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.CodeDom.Compiler.CodeDomProvider
        Microsoft.VisualBasic.VBCodeProvider

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class VBCodeProvider : CodeDomProvider

NomDescription
System_CAPS_pubmethodVBCodeProvider()

Initialise une nouvelle instance de la classe VBCodeProvider.

System_CAPS_pubmethodVBCodeProvider(IDictionary<String, String>)

Initialise une nouvelle instance de la classe VBCodeProvider en utilisant les options de fournisseur spécifiées.

NomDescription
System_CAPS_protpropertyCanRaiseEvents

Obtient une valeur indiquant si le composant peut déclencher un événement.(Hérité de Component.)

System_CAPS_pubpropertyContainer

Obtient les IContainer qui contient la Component.(Hérité de Component.)

System_CAPS_protpropertyDesignMode

Obtient une valeur qui indique si la Component est actuellement en mode design.(Hérité de Component.)

System_CAPS_protpropertyEvents

Obtient la liste des gestionnaires d’événements associés à cette Component.(Hérité de Component.)

System_CAPS_pubpropertyFileExtension

Obtient l’extension de nom de fichier à utiliser pendant la création de fichiers de code source.(Remplace CodeDomProvider.FileExtension.)

System_CAPS_pubpropertyLanguageOptions

Obtient un identificateur de fonctionnalités de langage.(Remplace CodeDomProvider.LanguageOptions.)

System_CAPS_pubpropertySite

Obtient ou définit le ISite de la Component.(Hérité de Component.)

NomDescription
System_CAPS_pubmethodCompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[])

Compile un assembly basé sur le System.CodeDom arborescences contenues dans le tableau spécifié de CodeCompileUnit des objets, à l’aide des paramètres du compilateur spécifiés.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCompileAssemblyFromFile(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.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCompileAssemblyFromSource(CompilerParameters, String[])

Compile un assembly à partir du tableau de chaînes contenant du code source, à l’aide des paramètres du compilateur spécifiés spécifiés.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCreateCompiler()

Obsolète. Obtient une instance du compilateur de code Visual Basic.(Remplace CodeDomProvider.CreateCompiler().)

System_CAPS_pubmethodCreateEscapedIdentifier(String)

Crée un identificateur avec séquence d’échappement pour la valeur spécifiée.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCreateGenerator()

Obsolète. Obtient une instance du générateur de code Visual Basic.(Remplace CodeDomProvider.CreateGenerator().)

System_CAPS_pubmethodCreateGenerator(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.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCreateGenerator(TextWriter)

En cas de substitution dans une classe dérivée, crée un nouveau générateur de code à l’aide de la TextWriter pour la sortie.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodCreateParser()

Obsolète. En cas de substitution dans une classe dérivée, crée un nouvel analyseur de code.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodCreateValidIdentifier(String)

Crée un identificateur valide pour la valeur spécifiée.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par Component.(Hérité de Component.)

System_CAPS_protmethodDispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.(Hérité de Component.)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Libère les ressources non managées et exécute d'autres opérations de nettoyage avant la récupération du Component par le garbage collection.(Hérité de Component.)

System_CAPS_pubmethodGenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

Génère du code pour l’unité de compilation Code Document Object Model (CodeDOM) spécifiée et l’envoie au writer de texte spécifié, en utilisant les options spécifiées.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodGenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

Génère du code pour l’expression Code Document Object Model (CodeDOM) spécifiée et l’envoie au writer de texte spécifié, en utilisant les options spécifiées.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodGenerateCodeFromMember(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.(Remplace CodeDomProvider.GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions).)

System_CAPS_pubmethodGenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Génère du code pour l’espace de noms Code Document Object Model (CodeDOM) spécifiée et l’envoie au writer de texte spécifié, en utilisant les options spécifiées.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodGenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

Génère du code pour l’instruction Code Document Object Model (CodeDOM) spécifiée et l’envoie au writer de texte spécifié, en utilisant les options spécifiées.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodGenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

Génère du code pour la déclaration de type Code Document Object Model (CodeDOM) spécifiée et l’envoie au writer de texte spécifié, en utilisant les options spécifiées.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodGetConverter(Type)

Obtient un TypeConverter pour le type d'objet spécifié.(Remplace CodeDomProvider.GetConverter(Type).)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l’objet de service de durée de vie actuelle qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_protmethodGetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.(Hérité de Component.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodGetTypeOutput(CodeTypeReference)

Obtient le type indiqué par le CodeTypeReference.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodIsValidIdentifier(String)

Retourne une valeur qui indique si la valeur spécifiée est un identificateur valide pour le langage actuel.(Hérité de CodeDomProvider.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crée une copie superficielle d’actuel MarshalByRefObject objet.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodParse(TextReader)

Compile le code lu à partir du flux de texte spécifié dans un CodeCompileUnit.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodSupports(GeneratorSupport)

Retourne une valeur indiquant si la génération de code spécifiée prend en charge est fournie.(Hérité de CodeDomProvider.)

System_CAPS_pubmethodToString()

Retourne un String contenant le nom de la Component, le cas échéant. Cette méthode ne doit pas être remplacée.(Hérité de Component.)

NomDescription
System_CAPS_pubeventDisposed

Se produit lorsque le composant est supprimé par un appel à la Dispose (méthode).(Hérité de Component.)

Cette classe fournit des méthodes qui peuvent être utilisés pour récupérer des instances de Visual Basic ICodeGenerator et ICodeCompiler implémentations.

System_CAPS_noteRemarque

Cette classe contient une demande de liaison et une demande d'héritage au niveau de la classe qui s'applique à tous les membres. Un SecurityException est levée lorsque l'appelant immédiat ou la classe dérivée ne dispose pas d'autorisations de confiance totale.

L’exemple suivant utilise le langage c# ou fournisseur de code Visual Basic pour compiler un fichier source. L’exemple vérifie l’extension du fichier d’entrée et utilise le correspondant CSharpCodeProvider ou VBCodeProvider pour la compilation. Le fichier d’entrée est compilé dans un fichier exécutable et les erreurs de compilation sont affichées dans la 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;
}

SecurityAction.LinkDemand

for full trust for the immediate caller. This class cannot be used by partially trusted code.

SecurityAction.InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

.NET Framework
Disponible depuis 1.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: