VBCodeProvider Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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) |