Bagikan melalui


VBCodeProvider Kelas

Definisi

Menyediakan akses ke instans generator kode Visual Basic dan pengkompilasi kode.

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
Warisan

Contoh

Contoh berikut menggunakan penyedia kode C# atau Visual Basic untuk mengkompilasi file sumber. Contoh memeriksa ekstensi file input dan menggunakan yang sesuai CSharpCodeProvider atau VBCodeProvider untuk kompilasi. File input dikompilasi ke dalam file yang dapat dieksekusi, dan kesalahan kompilasi apa pun ditampilkan ke konsol.

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

Keterangan

Kelas ini menyediakan metode yang dapat digunakan untuk mengambil instans Visual Basic ICodeGenerator dan ICodeCompiler implementasi.

Catatan

Kelas ini berisi permintaan tautan dan permintaan warisan di tingkat kelas yang berlaku untuk semua anggota. SecurityException dilemparkan ketika pemanggil langsung atau kelas turunan tidak memiliki izin kepercayaan penuh.

Konstruktor

VBCodeProvider()

Menginisialisasi instans baru kelas VBCodeProvider.

VBCodeProvider(IDictionary<String,String>)

Menginisialisasi instans VBCodeProvider baru kelas dengan menggunakan opsi penyedia yang ditentukan.

Properti

CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
FileExtension

Mendapatkan ekstensi nama file untuk digunakan saat membuat file kode sumber.

LanguageOptions

Mendapatkan pengidentifikasi fitur bahasa.

Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)

Metode

CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[])

Mengkompilasi rakitan berdasarkan System.CodeDom pohon yang terkandung dalam array CodeCompileUnit objek yang ditentukan, menggunakan pengaturan pengkompilasi yang ditentukan.

(Diperoleh dari CodeDomProvider)
CompileAssemblyFromFile(CompilerParameters, String[])

Mengkompilasi rakitan dari kode sumber yang terkandung dalam file yang ditentukan, menggunakan pengaturan pengkompilasi yang ditentukan.

(Diperoleh dari CodeDomProvider)
CompileAssemblyFromSource(CompilerParameters, String[])

Mengkompilasi rakitan dari array string yang ditentukan yang berisi kode sumber, menggunakan pengaturan pengkompilasi yang ditentukan.

(Diperoleh dari CodeDomProvider)
CreateCompiler()
Kedaluwarsa.
Kedaluwarsa.

Mendapatkan instans pengkompilasi kode Visual Basic.

CreateEscapedIdentifier(String)

Membuat pengidentifikasi escape untuk nilai yang ditentukan.

(Diperoleh dari CodeDomProvider)
CreateGenerator()
Kedaluwarsa.
Kedaluwarsa.

Mendapatkan instans generator kode Visual Basic.

CreateGenerator(String)

Saat ditimpa di kelas turunan, buat generator kode baru menggunakan nama file yang ditentukan untuk output.

(Diperoleh dari CodeDomProvider)
CreateGenerator(TextWriter)

Ketika ditimpa di kelas turunan, membuat generator kode baru menggunakan yang ditentukan TextWriter untuk output.

(Diperoleh dari CodeDomProvider)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
CreateParser()
Kedaluwarsa.
Kedaluwarsa.

Saat ditimpa di kelas turunan, membuat pengurai kode baru.

(Diperoleh dari CodeDomProvider)
CreateValidIdentifier(String)

Membuat pengidentifikasi yang valid untuk nilai yang ditentukan.

(Diperoleh dari CodeDomProvider)
Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang Component digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk unit kompilasi Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk ekspresi Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk anggota kelas yang ditentukan menggunakan opsi penulis teks dan generator kode yang ditentukan.

GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk deklarasi anggota Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk namespace Layanan Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk pernyataan Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

Menghasilkan kode untuk deklarasi jenis Code Document Object Model (CodeDOM) yang ditentukan dan mengirimkannya ke penulis teks yang ditentukan, menggunakan opsi yang ditentukan.

(Diperoleh dari CodeDomProvider)
GetConverter(Type)

TypeConverter Mendapatkan untuk jenis objek yang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
GetTypeOutput(CodeTypeReference)

Mendapatkan jenis yang ditunjukkan oleh yang ditentukan CodeTypeReference.

(Diperoleh dari CodeDomProvider)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
IsValidIdentifier(String)

Mengembalikan nilai yang menunjukkan apakah nilai yang ditentukan adalah pengidentifikasi yang valid untuk bahasa saat ini.

(Diperoleh dari CodeDomProvider)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
Parse(TextReader)

Mengkompilasi kode yang dibaca dari aliran teks yang ditentukan ke dalam CodeCompileUnit.

(Diperoleh dari CodeDomProvider)
Supports(GeneratorSupport)

Mengembalikan nilai yang menunjukkan apakah dukungan pembuatan kode yang ditentukan disediakan.

(Diperoleh dari CodeDomProvider)
ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)

Berlaku untuk

Lihat juga