VBCodeProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'accesso alle istanze del generatore di codice Visual Basic e del compilatore di codice.
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
- Ereditarietà
Esempio
Nell'esempio seguente viene usato il provider di codice C# o Visual Basic per compilare un file di origine. L'esempio controlla l'estensione del file di input e usa il corrispondente CSharpCodeProvider o VBCodeProvider per la compilazione. Il file di input viene compilato in un file eseguibile e gli eventuali errori di compilazione vengono visualizzati nella 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;
}
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
Commenti
Questa classe fornisce metodi che possono essere usati per recuperare le istanze Visual Basic < delle implementazioni /> /> e
Note
Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri. Viene lanciato un SecurityException quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di piena fiducia.
Costruttori
| Nome | Descrizione |
|---|---|
| VBCodeProvider() |
Inizializza una nuova istanza della classe VBCodeProvider. |
| VBCodeProvider(IDictionary<String,String>) |
Inizializza una nuova istanza della VBCodeProvider classe utilizzando le opzioni del provider specificate. |
Proprietà
| Nome | Descrizione |
|---|---|
| CanRaiseEvents |
Ottiene un valore che indica se il componente può generare un evento. (Ereditato da Component) |
| Container |
Ottiene l'oggetto IContainer contenente l'oggetto Component. (Ereditato da Component) |
| DesignMode |
Ottiene un valore che indica se è Component attualmente in modalità progettazione. (Ereditato da Component) |
| Events |
Ottiene l'elenco dei gestori eventi associati a questo Componentoggetto . (Ereditato da Component) |
| FileExtension |
Ottiene l'estensione del nome file da utilizzare durante la creazione di file di codice sorgente. |
| LanguageOptions |
Ottiene un identificatore delle funzionalità della lingua. |
| Site |
Ottiene o imposta il ISite del Component. (Ereditato da Component) |
Metodi
| Nome | Descrizione |
|---|---|
| CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) |
Compila un assembly basato sugli System.CodeDom alberi contenuti nella matrice di CodeCompileUnit oggetti specificata, usando le impostazioni del compilatore specificate. (Ereditato da CodeDomProvider) |
| CompileAssemblyFromFile(CompilerParameters, String[]) |
Compila un assembly dal codice sorgente contenuto nei file specificati, usando le impostazioni del compilatore specificate. (Ereditato da CodeDomProvider) |
| CompileAssemblyFromSource(CompilerParameters, String[]) |
Compila un assembly dalla matrice di stringhe specificata contenente il codice sorgente, usando le impostazioni del compilatore specificate. (Ereditato da CodeDomProvider) |
| CreateCompiler() |
Obsoleti.
Ottiene un'istanza del compilatore di codice Visual Basic. |
| CreateEscapedIdentifier(String) |
Crea un identificatore di escape per il valore specificato. (Ereditato da CodeDomProvider) |
| CreateGenerator() |
Obsoleti.
Ottiene un'istanza del generatore di codice Visual Basic. |
| CreateGenerator(String) |
Quando sottoposto a override in una classe derivata, crea un nuovo generatore di codice usando il nome file specificato per l'output. (Ereditato da CodeDomProvider) |
| CreateGenerator(TextWriter) |
Quando sottoposto a override in una classe derivata, crea un nuovo generatore di codice usando l'oggetto specificato TextWriter per l'output. (Ereditato da CodeDomProvider) |
| CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
| CreateParser() |
Obsoleti.
Quando sottoposto a override in una classe derivata, crea un nuovo parser di codice. (Ereditato da CodeDomProvider) |
| CreateValidIdentifier(String) |
Crea un identificatore valido per il valore specificato. (Ereditato da CodeDomProvider) |
| Dispose() |
Rilascia tutte le risorse usate da Component. (Ereditato da Component) |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate da Component e, facoltativamente, rilascia le risorse gestite. (Ereditato da Component) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) |
Genera il codice per l'unità di compilazione Code DOCUMENT Object Model (CodeDOM) specificata e lo invia al writer di testo specificato, usando le opzioni specificate. (Ereditato da CodeDomProvider) |
| GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) |
Genera il codice per l'espressione Code DOCUMENT Object Model (CodeDOM) specificata e lo invia al writer di testo specificato, usando le opzioni specificate. (Ereditato da CodeDomProvider) |
| GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
Genera il codice per il membro della classe specificato usando le opzioni del writer di testo e del generatore di codice specificate. |
| GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) |
Genera il codice per lo spazio dei nomi Code DOCUMENT Object Model (CodeDOM) specificato e lo invia al writer di testo specificato, usando le opzioni specificate. (Ereditato da CodeDomProvider) |
| GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) |
Genera il codice per l'istruzione Code DOCUMENT Object Model (CodeDOM) specificata e lo invia al writer di testo specificato, usando le opzioni specificate. (Ereditato da CodeDomProvider) |
| GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) |
Genera il codice per la dichiarazione di tipo CodeDOM (Code Document Object Model) specificata e lo invia al writer di testo specificato, usando le opzioni specificate. (Ereditato da CodeDomProvider) |
| GetConverter(Type) |
Ottiene un TypeConverter oggetto per il tipo di oggetto specificato. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetLifetimeService() |
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| GetService(Type) |
Restituisce un oggetto che rappresenta un servizio fornito da Component o da Container. (Ereditato da Component) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| GetTypeOutput(CodeTypeReference) |
Ottiene il tipo indicato dall'oggetto specificato CodeTypeReference. (Ereditato da CodeDomProvider) |
| InitializeLifetimeService() |
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| IsValidIdentifier(String) |
Restituisce un valore che indica se il valore specificato è un identificatore valido per la lingua corrente. (Ereditato da CodeDomProvider) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto corrente MarshalByRefObject . (Ereditato da MarshalByRefObject) |
| Parse(TextReader) |
Compila il codice letto dal flusso di testo specificato in un oggetto CodeCompileUnit. (Ereditato da CodeDomProvider) |
| Supports(GeneratorSupport) |
Restituisce un valore che indica se viene fornito il supporto per la generazione di codice specificato. (Ereditato da CodeDomProvider) |
| ToString() |
Restituisce un oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override. (Ereditato da Component) |
Eventi
| Nome | Descrizione |
|---|---|
| Disposed |
Si verifica quando il componente viene eliminato da una chiamata al Dispose() metodo . (Ereditato da Component) |