VBCodeProvider Osztály

Definíció

Hozzáférést biztosít a Visual Basic kódgenerátor és a kódfordító példányaihoz.

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
Öröklődés

Példák

Az alábbi példa a C# vagy Visual Basic kódszolgáltatót használja egy forrásfájl fordításához. A példa ellenőrzi a bemeneti fájlbővítményt, és a megfelelőt CSharpCodeProvider vagy VBCodeProvider fordítást használja. A bemeneti fájl végrehajtható fájlba van lefordítva, és minden fordítási hiba megjelenik a konzolon.

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

Megjegyzések

Ez az osztály a Visual Basic ICodeGenerator és ICodeCompiler implementációk példányainak lekérésére használható metódusokat biztosít.

Megjegyzés:

Ez az osztály az összes tagra vonatkozó hivatkozási és öröklési igényt tartalmaz az osztály szintjén. A SecurityException akkor dobódik, ha az azonnali hívó vagy a származtatott osztály nem rendelkezik teljes megbízhatósági engedéllyel.

Konstruktorok

Name Description
VBCodeProvider()

Inicializálja a VBCodeProvider osztály új példányát.

VBCodeProvider(IDictionary<String,String>)

Inicializálja az VBCodeProvider osztály új példányát a megadott szolgáltatói beállítások használatával.

Tulajdonságok

Name Description
CanRaiseEvents

Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni.

(Öröklődés forrása Component)
Container

Lekéri a IContainer .Component

(Öröklődés forrása Component)
DesignMode

Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e.

(Öröklődés forrása Component)
Events

Lekéri az ehhez Componentcsatolt eseménykezelők listáját.

(Öröklődés forrása Component)
FileExtension

Lekéri a forráskódfájlok létrehozásakor használni kívánt fájlnévkiterjesztést.

LanguageOptions

Lekéri a nyelvi funkciók azonosítóját.

Site

Lekéri vagy megadja a ISite értékét a Component-hez.

(Öröklődés forrása Component)

Metódusok

Name Description
CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[])

A megadott objektumtömbben CodeCompileUnit található fák alapján System.CodeDom állít össze egy szerelvényt a megadott fordítóbeállítások használatával.

(Öröklődés forrása CodeDomProvider)
CompileAssemblyFromFile(CompilerParameters, String[])

Összeállít egy szerelvényt a megadott fájlokban található forráskódból a megadott fordítóbeállítások használatával.

(Öröklődés forrása CodeDomProvider)
CompileAssemblyFromSource(CompilerParameters, String[])

Szerelvény fordítása a forráskódot tartalmazó sztringek megadott tömbéből a megadott fordítóbeállítások használatával.

(Öröklődés forrása CodeDomProvider)
CreateCompiler()
Elavult.

Lekéri a Visual Basic kódfordító egy példányát.

CreateEscapedIdentifier(String)

Létrehoz egy szöktetésazonosítót a megadott értékhez.

(Öröklődés forrása CodeDomProvider)
CreateGenerator()
Elavult.

Lekéri a Visual Basic kódgenerátor egy példányát.

CreateGenerator(String)

Ha egy származtatott osztályban felül van bírálva, egy új kódgenerátort hoz létre a kimenethez megadott fájlnév használatával.

(Öröklődés forrása CodeDomProvider)
CreateGenerator(TextWriter)

Ha egy származtatott osztályban felül van bírálva, egy új kódgenerátort hoz létre a megadott TextWriter kimenettel.

(Öröklődés forrása CodeDomProvider)
CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
CreateParser()
Elavult.

Ha felül van bírálva egy származtatott osztályban, létrehoz egy új kódelemzőt.

(Öröklődés forrása CodeDomProvider)
CreateValidIdentifier(String)

Létrehoz egy érvényes azonosítót a megadott értékhez.

(Öröklődés forrása CodeDomProvider)
Dispose()

Felszabadítja a .-hez használt összes erőforrást Component.

(Öröklődés forrása Component)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása Component)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

Létrehoz egy kódot a megadott Code Document Object Model (CodeDOM) fordítási egységhez, és elküldi a megadott szövegírónak a megadott beállításokkal.

(Öröklődés forrása CodeDomProvider)
GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

Létrehoz egy kódot a megadott Code Document Object Model (CodeDOM) kifejezéshez, és elküldi a megadott szövegírónak a megadott beállításokkal.

(Öröklődés forrása CodeDomProvider)
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions)

A megadott osztálytag kódját a megadott szövegíró és kódgenerátor beállításaival hozza létre.

GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Létrehoz egy kódot a megadott Code Document Object Model (CodeDOM) névtérhez, és elküldi a megadott szövegírónak a megadott beállításokkal.

(Öröklődés forrása CodeDomProvider)
GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

Létrehoz egy kódot a megadott Code Document Object Model (CodeDOM) utasításhoz, és elküldi a megadott szövegírónak a megadott beállításokkal.

(Öröklődés forrása CodeDomProvider)
GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

Létrehoz egy kódot a megadott Code Document Object Model (CodeDOM) típusdeklarációhoz, és elküldi a megadott szövegírónak a megadott beállításokkal.

(Öröklődés forrása CodeDomProvider)
GetConverter(Type)

TypeConverter Lekéri a megadott típusú objektumot.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetService(Type)

Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli.

(Öröklődés forrása Component)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetTypeOutput(CodeTypeReference)

Lekéri a megadott CodeTypeReferencetípust.

(Öröklődés forrása CodeDomProvider)
InitializeLifetimeService()

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
IsValidIdentifier(String)

Olyan értéket ad vissza, amely jelzi, hogy a megadott érték érvényes azonosító-e az aktuális nyelvhez.

(Öröklődés forrása CodeDomProvider)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
Parse(TextReader)

A megadott szövegstreamből beolvasott kódot lefordítja egy CodeCompileUnit.

(Öröklődés forrása CodeDomProvider)
Supports(GeneratorSupport)

Egy értéket ad vissza, amely jelzi, hogy a megadott kódgenerálási támogatás biztosított-e.

(Öröklődés forrása CodeDomProvider)
ToString()

String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni.

(Öröklődés forrása Component)

esemény

Name Description
Disposed

Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() .

(Öröklődés forrása Component)

A következőre érvényes:

Lásd még