VBCodeProvider Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje přístup k instancím generátoru kódu jazyka Visual Basic a kompilátoru kódu.
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
- Dědičnost
Příklady
Následující příklad používá zprostředkovatele kódu jazyka C# nebo Visual Basic ke kompilaci zdrojového souboru. Příklad zkontroluje příponu vstupního souboru a použije odpovídající CSharpCodeProvider nebo VBCodeProvider ke kompilaci. Vstupní soubor se zkompiluje do spustitelného souboru a všechny chyby kompilace se zobrazí v konzole nástroje .
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
Poznámky
Tato třída poskytuje metody, které lze použít k načtení instancí jazyka Visual Basic ICodeGenerator a ICodeCompiler implementace.
Poznámka
Tato třída obsahuje požadavek na propojení a požadavek dědičnosti na úrovni třídy, který se vztahuje na všechny členy. Je SecurityException vyvolán, pokud bezprostředně volající nebo odvozená třída nemá oprávnění k úplnému vztahu důvěryhodnosti.
Konstruktory
VBCodeProvider() |
Inicializuje novou instanci VBCodeProvider třídy . |
VBCodeProvider(IDictionary<String,String>) |
Inicializuje novou instanci VBCodeProvider třídy pomocí zadaných možností zprostředkovatele. |
Vlastnosti
CanRaiseEvents |
Získá hodnotu označující, zda komponenta může vyvolat událost. (Zděděno od Component) |
Container |
Získá objekt IContainer , který obsahuje Component. (Zděděno od Component) |
DesignMode |
Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component . (Zděděno od Component) |
Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
FileExtension |
Získá příponu názvu souboru, která se má použít při vytváření souborů zdrojového kódu. |
LanguageOptions |
Získá identifikátor funkcí jazyka. |
Site |
Získá nebo nastaví ISite z Component. (Zděděno od Component) |
Metody
CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) |
Zkompiluje sestavení na System.CodeDom základě stromů obsažených v zadaném CodeCompileUnit poli objektů pomocí zadaného nastavení kompilátoru. (Zděděno od CodeDomProvider) |
CompileAssemblyFromFile(CompilerParameters, String[]) |
Zkompiluje sestavení ze zdrojového kódu obsaženého v zadaných souborech pomocí zadaného nastavení kompilátoru. (Zděděno od CodeDomProvider) |
CompileAssemblyFromSource(CompilerParameters, String[]) |
Zkompiluje sestavení ze zadaného pole řetězců obsahujících zdrojový kód pomocí zadaného nastavení kompilátoru. (Zděděno od CodeDomProvider) |
CreateCompiler() |
Zastaralé.
Zastaralé.
Získá instanci kompilátoru kódu jazyka Visual Basic. |
CreateEscapedIdentifier(String) |
Vytvoří identifikátor s řídicím znakem pro zadanou hodnotu. (Zděděno od CodeDomProvider) |
CreateGenerator() |
Zastaralé.
Zastaralé.
Získá instanci visual basic generátoru kódu. |
CreateGenerator(String) |
Při přepsání v odvozené třídě vytvoří nový generátor kódu s použitím zadaného názvu souboru pro výstup. (Zděděno od CodeDomProvider) |
CreateGenerator(TextWriter) |
Při přepsání v odvozené třídě vytvoří nový generátor kódu pomocí zadaného TextWriter pro výstup. (Zděděno od CodeDomProvider) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
CreateParser() |
Zastaralé.
Zastaralé.
Při přepsání v odvozené třídě vytvoří nový analyzátor kódu. (Zděděno od CodeDomProvider) |
CreateValidIdentifier(String) |
Vytvoří platný identifikátor pro zadanou hodnotu. (Zděděno od CodeDomProvider) |
Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem Component a volitelně uvolní spravované prostředky. (Zděděno od Component) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadanou jednotku kompilace CodeDOM (CodeDOM) a odešle jej zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadaný výraz Code Document Object Model (CodeDOM) a odešle ho zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
Generuje kód pro zadaný člen třídy pomocí zadaného zapisovače textu a možnosti generátoru kódu. |
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadanou deklaraci člena CodeDOM (CodeDOM) a odešle jej zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadaný obor názvů CodeDOM (Code DOCUMENT Object Model) a odešle ho zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadaný příkaz Code Document Object Model (CodeDOM) a odešle ho zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) |
Vygeneruje kód pro zadanou deklaraci typu CodeDOM (CodeDOM) a odešle jej zadanému zapisovači textu pomocí zadaných možností. (Zděděno od CodeDomProvider) |
GetConverter(Type) |
TypeConverter Získá pro zadaný typ objektu. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo .Container (Zděděno od Component) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
GetTypeOutput(CodeTypeReference) |
Získá typ označený zadaným CodeTypeReferenceobjektem . (Zděděno od CodeDomProvider) |
InitializeLifetimeService() |
Zastaralé.
Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
IsValidIdentifier(String) |
Vrátí hodnotu, která označuje, zda je zadaná hodnota platným identifikátorem pro aktuální jazyk. (Zděděno od CodeDomProvider) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
Parse(TextReader) |
Zkompiluje kód přečtený ze zadaného textového streamu do .CodeCompileUnit (Zděděno od CodeDomProvider) |
Supports(GeneratorSupport) |
Vrátí hodnotu označující, zda je poskytována podpora zadaného generování kódu. (Zděděno od CodeDomProvider) |
ToString() |
String Vrátí hodnotu obsahující název , Componentpokud existuje. Tato metoda by neměla být přepsána. (Zděděno od Component) |
Událost
Disposed |
Vyvolá se, když je komponenta uvolněna voláním Dispose() metody . (Zděděno od Component) |