CodeDomProvider Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en basklass för CodeDomProvider implementeringar. Den här klassen är 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
- Arv
- Härledda
- Attribut
Exempel
Följande exempelprogram kan generera och kompilera källkod baserat på en CodeDOM-modell för ett program som skriver ut "Hello World" med klassen Console. Ett Windows Forms användargränssnitt tillhandahålls. Användaren kan välja målprogrammeringsspråket från flera val: C#, Visual Basic och 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
Kommentarer
En CodeDomProvider kan användas för att skapa och hämta instanser av kodgeneratorer och kodkompilatorer. Kodgeneratorer kan användas för att generera kod på ett visst språk och kodkompilatorer kan användas för att kompilera kod till sammansättningar.
En CodeDomProvider implementering tillhandahåller vanligtvis kodgenererings- och/eller kodkompileringsgränssnitt för att generera kod och hantera kompilering för ett enda programmeringsspråk. Flera språk stöds av implementeringar av CodeDomProvider som levereras med Windows SDK. Dessa språk är C#, Visual Basic, C++och JScript. Utvecklare eller kompilatorleverantörer kan implementera gränssnitten ICodeGenerator och ICodeCompiler och tillhandahålla ett CodeDomProvider som utökar CodeDOM-stödet till andra programmeringsspråk.
System.codedom-elementet<> i datorkonfigurationsfilen (Machine.config) ger utvecklare och kompilatorleverantörer en mekanism för att lägga till konfigurationsinställningar för ytterligare CodeDomProvider implementeringar.
Klassen CodeDomProvider innehåller statiska metoder för att identifiera och räkna upp CodeDomProvider implementeringar på en dator. Metoden GetAllCompilerInfo returnerar inställningarna för alla CodeDomProvider implementeringar på en dator. Metoden GetCompilerInfo returnerar inställningarna för en specifik CodeDomProvider implementering, baserat på programmeringsspråkets namn. Metoden CreateProvider returnerar en instans av en CodeDomProvider implementering för ett visst språk.
Mer information om språkproviderns inställningar i konfigurationsfilen finns i Schema för inställningar för kompilator och språkprovider.
Note
Den här klassen gör en länkefterfrågan och ett arvsbehov på klassnivå. A SecurityException utlöses om antingen den omedelbara anroparen eller den härledda klassen inte har fullständig förtroendebehörighet. Mer information om säkerhetskrav finns i Länkkrav och arvskrav.
Anteckningar till implementerare
I .NET Framework 1.0 och 1.1 består kodprovidrar av implementeringar av CodeDomProvider, ICodeGenerator, ICodeParser och ICodeCompiler. Från och med .NET Framework 2.0 är metoderna CreateGenerator(), CreateParser() och CreateCompiler() föråldrade, och metoderna för ICodeGenerator och ICodeCompiler är direkt tillgängliga i klassen CodeDomProvider. Du bör åsidosätta dessa metoder i implementeringen av kodprovidern och inte anropa basmetoderna.
Konstruktorer
| Name | Description |
|---|---|
| CodeDomProvider() |
Initierar en ny instans av CodeDomProvider klassen. |
Egenskaper
| Name | Description |
|---|---|
| CanRaiseEvents |
Hämtar ett värde som anger om komponenten kan generera en händelse. (Ärvd från Component) |
| Container |
Hämtar som IContainer innehåller Component. (Ärvd från Component) |
| DesignMode |
Hämtar ett värde som anger om det Component för närvarande är i designläge. (Ärvd från Component) |
| Events |
Hämtar listan över händelsehanterare som är kopplade till den här Component. (Ärvd från Component) |
| FileExtension |
Hämtar standardfilnamnstillägget som ska användas för källkodsfiler på det aktuella språket. |
| LanguageOptions |
Hämtar en språkfunktionsidentifierare. |
| Site |
Hämtar eller ställer in ISite i Component. (Ärvd från Component) |
Metoder
| Name | Description |
|---|---|
| CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) |
Kompilerar en sammansättning baserat på träden System.CodeDom som finns i den angivna matrisen med objekt med hjälp av CodeCompileUnit de angivna kompilatorinställningarna. |
| CompileAssemblyFromFile(CompilerParameters, String[]) |
Kompilerar en sammansättning från källkoden som finns i de angivna filerna med hjälp av de angivna kompilatorinställningarna. |
| CompileAssemblyFromSource(CompilerParameters, String[]) |
Kompilerar en sammansättning från den angivna matrisen med strängar som innehåller källkod med hjälp av de angivna kompilatorinställningarna. |
| CreateCompiler() |
Föråldrad.
När du åsidosättas i en härledd klass skapar du en ny kodkompilerare. |
| CreateEscapedIdentifier(String) |
Skapar en undantagen identifierare för det angivna värdet. |
| CreateGenerator() |
Föråldrad.
När du åsidosättas i en härledd klass skapar du en ny kodgenerator. |
| CreateGenerator(String) |
När den åsidosättas i en härledd klass skapar du en ny kodgenerator med det angivna filnamnet för utdata. |
| CreateGenerator(TextWriter) |
När den åsidosättas i en härledd klass skapar du en ny kodgenerator med angivet TextWriter för utdata. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| CreateParser() |
Föråldrad.
När du åsidosättas i en härledd klass skapar du en ny kodparser. |
| CreateProvider(String, IDictionary<String,String>) |
Hämtar en CodeDomProvider instans för de angivna språk- och provideralternativen. |
| CreateProvider(String) |
Hämtar en CodeDomProvider instans för det angivna språket. |
| CreateValidIdentifier(String) |
Skapar en giltig identifierare för det angivna värdet. |
| Dispose() |
Släpper alla resurser som används av Component. (Ärvd från Component) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna. (Ärvd från Component) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) |
Genererar kod för den angivna Code Document Object Model-kompileringsenheten (CodeDOM) och skickar den till den angivna textskrivaren med hjälp av de angivna alternativen. |
| GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) |
Genererar kod för det angivna Code Document Object Model-uttrycket (CodeDOM) och skickar den till den angivna textskrivaren med de angivna alternativen. |
| GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
Genererar kod för den angivna Code Document Object Model-medlemsdeklarationen (CodeDOM) och skickar den till den angivna textskrivaren med hjälp av de angivna alternativen. |
| GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) |
Genererar kod för det angivna Code Document Object Model-namnområdet (CodeDOM) och skickar den till den angivna textskrivaren med de angivna alternativen. |
| GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) |
Genererar kod för den angivna Code Document Object Model-instruktionen (CodeDOM) och skickar den till den angivna textskrivaren med hjälp av de angivna alternativen. |
| GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) |
Genererar kod för den angivna Code Document Object Model-typdeklarationen (CodeDOM) och skickar den till den angivna textskrivaren med hjälp av de angivna alternativen. |
| GetAllCompilerInfo() |
Returnerar konfigurationsinställningarna för språkprovidern och kompilatorn för den här datorn. |
| GetCompilerInfo(String) |
Returnerar konfigurationsinställningarna för språkprovidern och kompilatorn för det angivna språket. |
| GetConverter(Type) |
Hämtar en TypeConverter för den angivna datatypen. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLanguageFromExtension(String) |
Returnerar ett språknamn som är associerat med det angivna filnamnstillägget enligt konfigurationsavsnittet CodeDomProvider för kompilatorn. |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetService(Type) |
Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container. (Ärvd från Component) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetTypeOutput(CodeTypeReference) |
Hämtar den typ som anges av den angivna CodeTypeReference. |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| IsDefinedExtension(String) |
Testar om ett filnamnstillägg har en associerad CodeDomProvider implementering konfigurerad på datorn. |
| IsDefinedLanguage(String) |
Testar om ett språk har en CodeDomProvider implementering konfigurerad på datorn. |
| IsValidIdentifier(String) |
Returnerar ett värde som anger om det angivna värdet är en giltig identifierare för det aktuella språket. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| Parse(TextReader) |
Kompilerar koden som lästs från den angivna textströmmen till en CodeCompileUnit. |
| Supports(GeneratorSupport) |
Returnerar ett värde som anger om det angivna stöd för kodgenerering har angetts. |
| ToString() |
Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas. (Ärvd från Component) |
Händelser
| Name | Description |
|---|---|
| Disposed |
Inträffar när komponenten tas bort av ett anrop till Dispose() metoden. (Ärvd från Component) |