CodeDomProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Basisklasse für Implementierungen bereit CodeDomProvider . Diese Klasse ist abstrakt.
public ref class CodeDomProvider abstract : System::ComponentModel::Component
public abstract class CodeDomProvider : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeDomProvider : System.ComponentModel.Component
type CodeDomProvider = class
inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeDomProvider = class
inherit Component
Public MustInherit Class CodeDomProvider
Inherits Component
- Vererbung
- Abgeleitet
- Attribute
Beispiele
Das folgende Beispielprogramm kann Quellcode basierend auf einem CodeDOM-Modell eines Programms generieren und kompilieren, das "Hallo Welt" mithilfe der Console-Klasse druckt. Es wird eine Windows Forms Benutzeroberfläche bereitgestellt. Der Benutzer kann die Zielprogrammiersprache aus verschiedenen Auswahlmöglichkeiten auswählen: C#, Visual Basic und JScript.
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using Microsoft.JScript;
// This example demonstrates building a Hello World program graph
// using System.CodeDom elements. It calls code generator and
// code compiler methods to build the program using CSharp, VB, or
// JScript. A Windows Forms interface is included. Note: Code
// must be compiled and linked with the Microsoft.JScript assembly.
namespace CodeDOMExample
{
class CodeDomExample
{
// Build a Hello World program graph using
// System.CodeDom types.
public static CodeCompileUnit BuildHelloWorldGraph()
{
// Create a new CodeCompileUnit to contain
// the program graph.
CodeCompileUnit compileUnit = new CodeCompileUnit();
// Declare a new namespace called Samples.
CodeNamespace samples = new CodeNamespace("Samples");
// Add the new namespace to the compile unit.
compileUnit.Namespaces.Add(samples);
// Add the new namespace import for the System namespace.
samples.Imports.Add(new CodeNamespaceImport("System"));
// Declare a new type called Class1.
CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
// Add the new type to the namespace type collection.
samples.Types.Add(class1);
// Declare a new code entry point method.
CodeEntryPointMethod start = new CodeEntryPointMethod();
// Create a type reference for the System.Console class.
CodeTypeReferenceExpression csSystemConsoleType = new CodeTypeReferenceExpression("System.Console");
// Build a Console.WriteLine statement.
CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression(
csSystemConsoleType, "WriteLine",
new CodePrimitiveExpression("Hello World!"));
// Add the WriteLine call to the statement collection.
start.Statements.Add(cs1);
// Build another Console.WriteLine statement.
CodeMethodInvokeExpression cs2 = new CodeMethodInvokeExpression(
csSystemConsoleType, "WriteLine",
new CodePrimitiveExpression("Press the Enter key to continue."));
// Add the WriteLine call to the statement collection.
start.Statements.Add(cs2);
// Build a call to System.Console.ReadLine.
CodeMethodInvokeExpression csReadLine = new CodeMethodInvokeExpression(
csSystemConsoleType, "ReadLine");
// Add the ReadLine statement.
start.Statements.Add(csReadLine);
// Add the code entry point method to
// the Members collection of the type.
class1.Members.Add(start);
return compileUnit;
}
public static void GenerateCode(CodeDomProvider provider,
CodeCompileUnit compileunit)
{
// Build the source file name with the appropriate
// language extension.
String sourceFile;
if (provider.FileExtension[0] == '.')
{
sourceFile = "TestGraph" + provider.FileExtension;
}
else
{
sourceFile = "TestGraph." + provider.FileExtension;
}
// Create an IndentedTextWriter, constructed with
// a StreamWriter to the source file.
IndentedTextWriter tw = new IndentedTextWriter(new StreamWriter(sourceFile, false), " ");
// Generate source code using the code generator.
provider.GenerateCodeFromCompileUnit(compileunit, tw, new CodeGeneratorOptions());
// Close the output file.
tw.Close();
}
public static CompilerResults CompileCode(CodeDomProvider provider,
String sourceFile,
String exeFile)
{
// Configure a CompilerParameters that links System.dll
// and produces the specified executable file.
String[] referenceAssemblies = { "System.dll" };
CompilerParameters cp = new CompilerParameters(referenceAssemblies,
exeFile, false);
// Generate an executable rather than a DLL file.
cp.GenerateExecutable = true;
// Invoke compilation.
CompilerResults cr = provider.CompileAssemblyFromFile(cp, sourceFile);
// Return the results of compilation.
return cr;
}
}
public class CodeDomExampleForm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button run_button = new System.Windows.Forms.Button();
private System.Windows.Forms.Button compile_button = new System.Windows.Forms.Button();
private System.Windows.Forms.Button generate_button = new System.Windows.Forms.Button();
private System.Windows.Forms.TextBox textBox1 = new System.Windows.Forms.TextBox();
private System.Windows.Forms.ComboBox comboBox1 = new System.Windows.Forms.ComboBox();
private System.Windows.Forms.Label label1 = new System.Windows.Forms.Label();
private void generate_button_Click(object sender, System.EventArgs e)
{
CodeDomProvider provider = GetCurrentProvider();
CodeDomExample.GenerateCode(provider, CodeDomExample.BuildHelloWorldGraph());
// Build the source file name with the appropriate
// language extension.
String sourceFile;
if (provider.FileExtension[0] == '.')
{
sourceFile = "TestGraph" + provider.FileExtension;
}
else
{
sourceFile = "TestGraph." + provider.FileExtension;
}
// Read in the generated source file and
// display the source text.
StreamReader sr = new StreamReader(sourceFile);
textBox1.Text = sr.ReadToEnd();
sr.Close();
}
private void compile_button_Click(object sender, System.EventArgs e)
{
CodeDomProvider provider = GetCurrentProvider();
// Build the source file name with the appropriate
// language extension.
String sourceFile;
if (provider.FileExtension[0] == '.')
{
sourceFile = "TestGraph" + provider.FileExtension;
}
else
{
sourceFile = "TestGraph." + provider.FileExtension;
}
// Compile the source file into an executable output file.
CompilerResults cr = CodeDomExample.CompileCode(provider,
sourceFile,
"TestGraph.exe");
if (cr.Errors.Count > 0)
{
// Display compilation errors.
textBox1.Text = "Errors encountered while building " +
sourceFile + " into " + cr.PathToAssembly + ": \r\n\n";
foreach (CompilerError ce in cr.Errors)
textBox1.AppendText(ce.ToString() + "\r\n");
run_button.Enabled = false;
}
else
{
textBox1.Text = "Source " + sourceFile + " built into " +
cr.PathToAssembly + " with no errors.";
run_button.Enabled = true;
}
}
private void run_button_Click(object sender,
System.EventArgs e)
{
Process.Start("TestGraph.exe");
}
private CodeDomProvider GetCurrentProvider()
{
CodeDomProvider provider;
switch ((string)this.comboBox1.SelectedItem)
{
case "CSharp":
provider = CodeDomProvider.CreateProvider("CSharp");
break;
case "Visual Basic":
provider = CodeDomProvider.CreateProvider("VisualBasic");
break;
case "JScript":
provider = CodeDomProvider.CreateProvider("JScript");
break;
default:
provider = CodeDomProvider.CreateProvider("CSharp");
break;
}
return provider;
}
public CodeDomExampleForm()
{
this.SuspendLayout();
// Set properties for label1
this.label1.Location = new System.Drawing.Point(395, 20);
this.label1.Size = new Size(180, 22);
this.label1.Text = "Select a programming language:";
// Set properties for comboBox1
this.comboBox1.Location = new System.Drawing.Point(560, 16);
this.comboBox1.Size = new Size(190, 23);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Items.AddRange(new string[] { "CSharp", "Visual Basic", "JScript" });
this.comboBox1.Anchor = System.Windows.Forms.AnchorStyles.Left
| System.Windows.Forms.AnchorStyles.Right
| System.Windows.Forms.AnchorStyles.Top;
this.comboBox1.SelectedIndex = 0;
// Set properties for generate_button.
this.generate_button.Location = new System.Drawing.Point(8, 16);
this.generate_button.Name = "generate_button";
this.generate_button.Size = new System.Drawing.Size(120, 23);
this.generate_button.Text = "Generate Code";
this.generate_button.Click += new System.EventHandler(this.generate_button_Click);
// Set properties for compile_button.
this.compile_button.Location = new System.Drawing.Point(136, 16);
this.compile_button.Name = "compile_button";
this.compile_button.Size = new System.Drawing.Size(120, 23);
this.compile_button.Text = "Compile";
this.compile_button.Click += new System.EventHandler(this.compile_button_Click);
// Set properties for run_button.
this.run_button.Enabled = false;
this.run_button.Location = new System.Drawing.Point(264, 16);
this.run_button.Name = "run_button";
this.run_button.Size = new System.Drawing.Size(120, 23);
this.run_button.Text = "Run";
this.run_button.Click += new System.EventHandler(this.run_button_Click);
// Set properties for textBox1.
this.textBox1.Anchor = (System.Windows.Forms.AnchorStyles.Top
| System.Windows.Forms.AnchorStyles.Bottom
| System.Windows.Forms.AnchorStyles.Left
| System.Windows.Forms.AnchorStyles.Right);
this.textBox1.Location = new System.Drawing.Point(8, 48);
this.textBox1.Multiline = true;
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(744, 280);
this.textBox1.Text = "";
// Set properties for the CodeDomExampleForm.
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(768, 340);
this.MinimumSize = new System.Drawing.Size(750, 340);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1,
this.run_button, this.compile_button, this.generate_button,
this.comboBox1, this.label1 });
this.Name = "CodeDomExampleForm";
this.Text = "CodeDom Hello World Example";
this.ResumeLayout(false);
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
[STAThread]
static void Main()
{
Application.Run(new CodeDomExampleForm());
}
}
}
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports System.Collections
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Drawing
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.CSharp
Imports Microsoft.JScript
' This example demonstrates building a Hello World program graph
' using System.CodeDom elements. It calls code generator and
' code compiler methods to build the program using CSharp, VB, or
' JScript. A Windows Forms interface is included. Note: Code
' must be compiled and linked with the Microsoft.JScript assembly.
Namespace CodeDOMExample
Class CodeDomExample
' Build a Hello World program graph using
' System.CodeDom types.
Public Shared Function BuildHelloWorldGraph() As CodeCompileUnit
' Create a new CodeCompileUnit to contain
' the program graph.
Dim compileUnit As New CodeCompileUnit()
' Declare a new namespace called Samples.
Dim samples As New CodeNamespace("Samples")
' Add the new namespace to the compile unit.
compileUnit.Namespaces.Add(samples)
' Add the new namespace import for the System namespace.
samples.Imports.Add(New CodeNamespaceImport("System"))
' Declare a new type called Class1.
Dim class1 As New CodeTypeDeclaration("Class1")
' Add the new type to the namespace type collection.
samples.Types.Add(class1)
' Declare a new code entry point method.
Dim start As New CodeEntryPointMethod()
' Create a type reference for the System.Console class.
Dim csSystemConsoleType As New CodeTypeReferenceExpression( _
"System.Console")
' Build a Console.WriteLine statement.
Dim cs1 As New CodeMethodInvokeExpression( _
csSystemConsoleType, "WriteLine", _
New CodePrimitiveExpression("Hello World!"))
' Add the WriteLine call to the statement collection.
start.Statements.Add(cs1)
' Build another Console.WriteLine statement.
Dim cs2 As New CodeMethodInvokeExpression( _
csSystemConsoleType, "WriteLine", _
New CodePrimitiveExpression("Press the Enter key to continue."))
' Add the WriteLine call to the statement collection.
start.Statements.Add(cs2)
' Build a call to System.Console.ReadLine.
Dim csReadLine As New CodeMethodInvokeExpression( _
csSystemConsoleType, "ReadLine")
' Add the ReadLine statement.
start.Statements.Add(csReadLine)
' Add the code entry point method to
' the Members collection of the type.
class1.Members.Add(start)
Return compileUnit
End Function
Public Shared Sub GenerateCode(ByVal provider As CodeDomProvider, ByVal compileunit As CodeCompileUnit)
' Build the source file name with the appropriate
' language extension.
Dim sourceFile As String
If provider.FileExtension.StartsWith(".") Then
sourceFile = "TestGraph" + provider.FileExtension
Else
sourceFile = "TestGraph." + provider.FileExtension
End If
' Create an IndentedTextWriter, constructed with
' a StreamWriter to the source file.
Dim tw As New IndentedTextWriter(New StreamWriter(sourceFile, False), " ")
' Generate source code using the code generator.
provider.GenerateCodeFromCompileUnit(compileunit, tw, New CodeGeneratorOptions())
' Close the output file.
tw.Close()
End Sub
Public Shared Function CompileCode(ByVal provider As CodeDomProvider, _
ByVal sourceFile As String, _
ByVal exeFile As String) As CompilerResults
' Configure a CompilerParameters that links System.dll
' and produces the specified executable file.
Dim referenceAssemblies As String() = {"System.dll"}
Dim cp As New CompilerParameters(referenceAssemblies, exeFile, False)
' Generate an executable rather than a DLL file.
cp.GenerateExecutable = True
' Invoke compilation.
Dim cr As CompilerResults = provider.CompileAssemblyFromFile(cp, _
sourceFile)
' Return the results of compilation.
Return cr
End Function
End Class
Public Class CodeDomExampleForm
Inherits System.Windows.Forms.Form
Private run_button As New System.Windows.Forms.Button()
Private compile_button As New System.Windows.Forms.Button()
Private generate_button As New System.Windows.Forms.Button()
Private textBox1 As New System.Windows.Forms.TextBox()
Private comboBox1 As New System.Windows.Forms.ComboBox()
Private label1 As New System.Windows.Forms.Label()
Private Sub generate_button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim provider As CodeDomProvider = GetCurrentProvider()
CodeDomExample.GenerateCode(provider, CodeDomExample.BuildHelloWorldGraph())
' Build the source file name with the appropriate
' language extension.
Dim sourceFile As String
If provider.FileExtension.StartsWith(".") Then
sourceFile = "TestGraph" + provider.FileExtension
Else
sourceFile = "TestGraph." + provider.FileExtension
End If
' Read in the generated source file and
' display the source text.
Dim sr As New StreamReader(sourceFile)
textBox1.Text = sr.ReadToEnd()
sr.Close()
End Sub
Private Sub compile_button_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim provider As CodeDomProvider = GetCurrentProvider()
' Build the source file name with the appropriate
' language extension.
Dim sourceFile As String
If provider.FileExtension.StartsWith(".") Then
sourceFile = "TestGraph" + provider.FileExtension
Else
sourceFile = "TestGraph." + provider.FileExtension
End If
Dim cr As CompilerResults = CodeDomExample.CompileCode(provider, _
sourceFile, _
"TestGraph.EXE")
If cr.Errors.Count > 0 Then
' Display compilation errors.
textBox1.Text = "Errors encountered while building " + _
sourceFile + " into " + _
cr.PathToAssembly + ": " + ControlChars.CrLf
Dim ce As System.CodeDom.Compiler.CompilerError
For Each ce In cr.Errors
textBox1.AppendText(ce.ToString() + ControlChars.CrLf)
Next ce
run_button.Enabled = False
Else
textBox1.Text = "Source " + sourceFile + " built into " + _
cr.PathToAssembly + " with no errors."
run_button.Enabled = True
End If
End Sub
Private Sub run_button_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Process.Start("TestGraph.EXE")
End Sub
Private Function GetCurrentProvider() As CodeDomProvider
Dim provider As CodeDomProvider
Select Case CStr(Me.comboBox1.SelectedItem)
Case "CSharp"
provider = CodeDomProvider.CreateProvider("CSharp")
Case "Visual Basic"
provider = CodeDomProvider.CreateProvider("VisualBasic")
Case "JScript"
provider = CodeDomProvider.CreateProvider("JScript")
Case Else
provider = CodeDomProvider.CreateProvider("CSharp")
End Select
Return provider
End Function
Public Sub New()
Me.SuspendLayout()
' Set properties for label1.
Me.label1.Location = New System.Drawing.Point(395, 20)
Me.label1.Size = New Size(180, 22)
Me.label1.Text = "Select a programming language:"
' Set properties for comboBox1.
Me.comboBox1.Location = New System.Drawing.Point(560, 16)
Me.comboBox1.Size = New Size(190, 23)
Me.comboBox1.Name = "comboBox1"
Me.comboBox1.Items.AddRange(New String() {"CSharp", "Visual Basic", "JScript"})
Me.comboBox1.Anchor = System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right Or System.Windows.Forms.AnchorStyles.Top
Me.comboBox1.SelectedIndex = 0
' Set properties for generate_button.
Me.generate_button.Location = New System.Drawing.Point(8, 16)
Me.generate_button.Name = "generate_button"
Me.generate_button.Size = New System.Drawing.Size(120, 23)
Me.generate_button.Text = "Generate Code"
AddHandler generate_button.Click, AddressOf Me.generate_button_Click
' Set properties for compile_button.
Me.compile_button.Location = New System.Drawing.Point(136, 16)
Me.compile_button.Name = "compile_button"
Me.compile_button.Size = New System.Drawing.Size(120, 23)
Me.compile_button.Text = "Compile"
AddHandler compile_button.Click, AddressOf Me.compile_button_Click
' Set properties for run_button.
Me.run_button.Enabled = False
Me.run_button.Location = New System.Drawing.Point(264, 16)
Me.run_button.Name = "run_button"
Me.run_button.Size = New System.Drawing.Size(120, 23)
Me.run_button.Text = "Run"
AddHandler run_button.Click, AddressOf Me.run_button_Click
' Set properties for textBox1.
Me.textBox1.Anchor = System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right
Me.textBox1.Location = New System.Drawing.Point(8, 48)
Me.textBox1.Multiline = True
Me.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.textBox1.Name = "textBox1"
Me.textBox1.Size = New System.Drawing.Size(744, 280)
Me.textBox1.Text = ""
' Set properties for the CodeDomExampleForm.
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(768, 340)
Me.MinimumSize = New System.Drawing.Size(750, 340)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.textBox1, _
Me.run_button, Me.compile_button, Me.generate_button, _
Me.comboBox1, Me.label1})
Me.Name = "CodeDomExampleForm"
Me.Text = "CodeDom Hello World Example"
Me.ResumeLayout(False)
End Sub
Protected Overloads Sub Dispose(ByVal disposing As Boolean)
MyBase.Dispose(disposing)
End Sub
<STAThread()> _
Shared Sub Main()
Application.Run(New CodeDomExampleForm())
End Sub
End Class
End Namespace
Hinweise
Eine CodeDomProvider kann zum Erstellen und Abrufen von Instanzen von Codegeneratoren und Codecompilern verwendet werden. Codegeneratoren können verwendet werden, um Code in einer bestimmten Sprache zu generieren, und Codecompiler können zum Kompilieren von Code in Assemblys verwendet werden.
Eine CodeDomProvider Implementierung stellt in der Regel Codegenerierungs- und/oder Codekompilierungsschnittstellen zum Generieren von Code und zum Verwalten der Kompilierung für eine einzelne Programmiersprache bereit. Mehrere Sprachen werden von CodeDomProvider Implementierungen unterstützt, die mit dem Windows SDK ausgeliefert werden. Zu diesen Sprachen gehören C#, Visual Basic, C++ und JScript. Entwickler oder Compilerhersteller können die ICodeGenerator Und-Schnittstellen ICodeCompiler implementieren und einen CodeDomProvider CodeDOM-Support auf andere Programmiersprachen erweitern.
Das <System.codedom-Element> in der Computerkonfigurationsdatei (Machine.config) bietet Entwicklern und Compileranbietern einen Mechanismus zum Hinzufügen von Konfigurationseinstellungen für zusätzliche CodeDomProvider Implementierungen.
Die CodeDomProvider Klasse stellt statische Methoden zum Ermitteln und Aufzählen der CodeDomProvider Implementierungen auf einem Computer bereit. Die GetAllCompilerInfo Methode gibt die Einstellungen für alle CodeDomProvider Implementierungen auf einem Computer zurück. Die GetCompilerInfo Methode gibt die Einstellungen für eine bestimmte CodeDomProvider Implementierung basierend auf dem Programmiersprachenamen zurück. Die CreateProvider Methode gibt eine Instanz einer CodeDomProvider Implementierung für eine bestimmte Sprache zurück.
Weitere Informationen zu den Sprachanbietereinstellungen in der Konfigurationsdatei finden Sie unter Compiler- und Sprachanbietereinstellungenschema.
Hinweis
Diese Klasse macht eine Verknüpfungsnachfrage und eine Vererbungsnachfrage auf Klassenebene. Ein SecurityException Fehler wird ausgelöst, wenn der direkte Aufrufer oder die abgeleitete Klasse nicht über voll vertrauenswürdige Berechtigungen verfügt. Ausführliche Informationen zu Sicherheitsanforderungen finden Sie unter Linkanforderungen.
Hinweise für Ausführende
In .NET Framework 1.0 und 1.1 bestehen Codeanbieter aus Implementierungen von CodeDomProvider, ICodeGenerator, ICodeParser und ICodeCompiler. Ab .NET Framework 2.0 sind die Methoden CreateGenerator(), CreateParser() und CreateCompiler() veraltet, und die Methoden ICodeGenerator und ICodeCompiler sind direkt in der klasse CodeDomProvider verfügbar. Sie sollten diese Methoden in ihrer Codeanbieterimplementierung außer Kraft setzen und die Basismethoden nicht aufrufen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CodeDomProvider() |
Initialisiert eine neue Instanz der CodeDomProvider-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| FileExtension |
Ruft die Standarddateierweiterung ab, die für Quellcodedateien in der aktuellen Sprache verwendet werden soll. |
| LanguageOptions |
Ruft einen Sprachfeaturebezeichner ab. |
| Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
Methoden
| Name | Beschreibung |
|---|---|
| CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) |
Kompiliert eine Assembly basierend auf den Strukturen, die System.CodeDom im angegebenen Array von CodeCompileUnit Objekten enthalten sind, mithilfe der angegebenen Compilereinstellungen. |
| CompileAssemblyFromFile(CompilerParameters, String[]) |
Kompiliert eine Assembly aus dem Quellcode, der in den angegebenen Dateien enthalten ist, mithilfe der angegebenen Compilereinstellungen. |
| CompileAssemblyFromSource(CompilerParameters, String[]) |
Kompiliert eine Assembly aus dem angegebenen Array von Zeichenfolgen, die Quellcode enthalten, mithilfe der angegebenen Compilereinstellungen. |
| CreateCompiler() |
Veraltet.
Veraltet.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein neuer Codecompiler erstellt. |
| CreateEscapedIdentifier(String) |
Erstellt einen Escapebezeichner für den angegebenen Wert. |
| CreateGenerator() |
Veraltet.
Veraltet.
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird ein neuer Codegenerator erstellt. |
| CreateGenerator(String) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein neuer Codegenerator mit dem angegebenen Dateinamen für die Ausgabe erstellt. |
| CreateGenerator(TextWriter) |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird ein neuer Codegenerator erstellt, der für die Ausgabe angegeben ist TextWriter . |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| CreateParser() |
Veraltet.
Veraltet.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein neuer Codeparser erstellt. |
| CreateProvider(String, IDictionary<String,String>) |
Ruft eine CodeDomProvider Instanz für die angegebenen Sprach- und Anbieteroptionen ab. |
| CreateProvider(String) |
Ruft eine CodeDomProvider Instanz für die angegebene Sprache ab. |
| CreateValidIdentifier(String) |
Erstellt einen gültigen Bezeichner für den angegebenen Wert. |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von Component) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) |
Generiert Code für die angegebene Code Document Object Model (CodeDOM)-Kompilierungseinheit und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Textschreiber. |
| GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) |
Generiert Code für den angegebenen Code Document Object Model (CodeDOM)-Ausdruck und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Textschreiber. |
| GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
Generiert Code für die angegebene Code Document Object Model (CodeDOM)-Memberdeklaration und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Text writer. |
| GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) |
Generiert Code für den angegebenen Code Document Object Model (CodeDOM)-Namespace und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Text writer. |
| GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) |
Generiert Code für die angegebene Code Document Object Model (CodeDOM)-Anweisung und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Text writer. |
| GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) |
Generiert Code für die angegebene Code Document Object Model (CodeDOM)-Typdeklaration und sendet ihn mithilfe der angegebenen Optionen an den angegebenen Text writer. |
| GetAllCompilerInfo() |
Gibt die Sprachanbieter- und Compilerkonfigurationseinstellungen für diesen Computer zurück. |
| GetCompilerInfo(String) |
Gibt die Sprachanbieter- und Compilerkonfigurationseinstellungen für die angegebene Sprache zurück. |
| GetConverter(Type) |
Ruft einen TypeConverter für den angegebenen Datentyp ab. |
| GetHashCode() |
Dient als die Standard-Hashfunktion (Geerbt von Object) |
| GetLanguageFromExtension(String) |
Gibt einen Sprachnamen zurück, der der angegebenen Dateinamenerweiterung zugeordnet ist, wie im Abschnitt für die CodeDomProvider Compilerkonfiguration konfiguriert. |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetTypeOutput(CodeTypeReference) |
Ruft den Typ ab, der durch die angegebene .CodeTypeReference |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| IsDefinedExtension(String) |
Überprüft, ob eine Dateinamenerweiterung eine zugeordnete CodeDomProvider Implementierung auf dem Computer konfiguriert hat. |
| IsDefinedLanguage(String) |
Testet, ob eine Sprache eine CodeDomProvider Auf dem Computer konfigurierte Implementierung hat. |
| IsValidIdentifier(String) |
Gibt einen Wert zurück, der angibt, ob der angegebene Wert ein gültiger Bezeichner für die aktuelle Sprache ist. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| Parse(TextReader) |
Kompiliert den Code aus dem angegebenen Textstrom in einem CodeCompileUnit. |
| Supports(GeneratorSupport) |
Gibt einen Wert zurück, der angibt, ob die unterstützung der angegebenen Codegenerierung bereitgestellt wird. |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |