CodeGenerator 類別

定義

提供介面實作 ICodeGenerator 範例。 這個類別是抽象的。

public ref class CodeGenerator abstract : System::CodeDom::Compiler::ICodeGenerator
public abstract class CodeGenerator : System.CodeDom.Compiler.ICodeGenerator
type CodeGenerator = class
    interface ICodeGenerator
Public MustInherit Class CodeGenerator
Implements ICodeGenerator
繼承
CodeGenerator
衍生
實作

備註

這是程式碼產生器可以從中推導出來的有用基底類別。 程式碼產生器能夠根據程式碼文件物件模型(CodeDOM)圖的結構,以特定語言呈現原始碼。 此類別提供多種函式與方法,從 CodeDOM 圖中產生特定類型的程式碼。

備註

這個類別包含適用於所有成員之類別層級的連結需求和繼承需求。 當立即呼叫者或衍生類別沒有完全信任權限時,會拋出SecurityException

建構函式

名稱 Description
CodeGenerator()

初始化 CodeGenerator 類別的新執行個體。

屬性

名稱 Description
CurrentClass

取得目前類別的程式碼類型宣告。

CurrentMember

取得該班目前的成員。

CurrentMemberName

會得到現任成員名稱。

CurrentTypeName

會得到目前的職業名稱。

Indent

取得或設定每個縮排層級要縮排的空格數。

IsCurrentClass

會得到一個值,表示目前產生的物件是否為類別。

IsCurrentDelegate

會取得一個值,表示目前產生的物件是否為代理。

IsCurrentEnum

會得到一個值,表示目前產生的物件是否為枚舉。

IsCurrentInterface

會取得一個值,表示目前產生的物件是否為介面。

IsCurrentStruct

會取得一個值,表示目前產生的物件是值型還是結構體。

NullToken

得到代表 null的標記。

Options

取得程式碼產生器可用的選項。

Output

讓文字寫手用來輸出。

方法

名稱 Description
ContinueOnNewLine(String)

產生一個行續字元,並將指定的字串輸出到新行。

CreateEscapedIdentifier(String)

為指定值建立一個逃逸識別碼。

CreateValidIdentifier(String)

為指定值建立有效的識別碼。

Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
GenerateArgumentReferenceExpression(CodeArgumentReferenceExpression)

產生指定參數參考表達式的程式碼。

GenerateArrayCreateExpression(CodeArrayCreateExpression)

產生指定陣列建立表達式的程式碼。

GenerateArrayIndexerExpression(CodeArrayIndexerExpression)

產生指定的陣列索引器表達式程式碼。

GenerateAssignStatement(CodeAssignStatement)

產生指定的指派語句程式碼。

GenerateAttachEventStatement(CodeAttachEventStatement)

為指定的 attach 事件敘述產生程式碼。

GenerateAttributeDeclarationsEnd(CodeAttributeDeclarationCollection)

為指定的屬性區塊 end 產生程式碼。

GenerateAttributeDeclarationsStart(CodeAttributeDeclarationCollection)

產生指定屬性區塊啟動的程式碼。

GenerateBaseReferenceExpression(CodeBaseReferenceExpression)

產生指定的基礎參考表達式程式碼。

GenerateBinaryOperatorExpression(CodeBinaryOperatorExpression)

產生指定的二進位運算子表達式程式碼。

GenerateCastExpression(CodeCastExpression)

產生指定的鑄造表達式程式碼。

GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions)

利用指定的文字寫入器與程式碼產生器選項,為指定的類別成員產生程式碼。

GenerateComment(CodeComment)

產生指定註解的程式碼。

GenerateCommentStatement(CodeCommentStatement)

產生指定的註解語句程式碼。

GenerateCommentStatements(CodeCommentStatementCollection)

為指定的註解語句產生程式碼。

GenerateCompileUnit(CodeCompileUnit)

為指定的編譯單元產生程式碼。

GenerateCompileUnitEnd(CodeCompileUnit)

產生編譯單元結尾的程式碼。

GenerateCompileUnitStart(CodeCompileUnit)

產生編譯單元啟動的程式碼。

GenerateConditionStatement(CodeConditionStatement)

產生指定的條件語句程式碼。

GenerateConstructor(CodeConstructor, CodeTypeDeclaration)

為指定的建構子產生程式碼。

GenerateDecimalValue(Decimal)

產生指定的十進位數值程式碼。

GenerateDefaultValueExpression(CodeDefaultValueExpression)

產生指定參考的程式碼,指向預設值。

GenerateDelegateCreateExpression(CodeDelegateCreateExpression)

產生指定的代理建立表達式程式碼。

GenerateDelegateInvokeExpression(CodeDelegateInvokeExpression)

為指定的代理呼叫表達式產生程式碼。

GenerateDirectionExpression(CodeDirectionExpression)

產生指定方向表達式的程式碼。

GenerateDirectives(CodeDirectiveCollection)

為指定的程式碼指令產生程式碼。

GenerateDoubleValue(Double)

產生雙精度浮點數的程式碼。

GenerateEntryPointMethod(CodeEntryPointMethod, CodeTypeDeclaration)

產生指定的入口點方法的程式碼。

GenerateEvent(CodeMemberEvent, CodeTypeDeclaration)

為指定事件產生程式碼。

GenerateEventReferenceExpression(CodeEventReferenceExpression)

產生指定事件參考表達式的程式碼。

GenerateExpression(CodeExpression)

產生指定的程式碼表達式程式碼。

GenerateExpressionStatement(CodeExpressionStatement)

產生指定的表達式陳述式程式碼。

GenerateField(CodeMemberField)

產生指定的成員欄位程式碼。

GenerateFieldReferenceExpression(CodeFieldReferenceExpression)

產生指定的欄位參考表達式程式碼。

GenerateGotoStatement(CodeGotoStatement)

為指定 goto 語句產生程式碼。

GenerateIndexerExpression(CodeIndexerExpression)

產生指定的索引器表達式程式碼。

GenerateIterationStatement(CodeIterationStatement)

產生指定的迭代陳述式程式碼。

GenerateLabeledStatement(CodeLabeledStatement)

為指定的標籤語句產生程式碼。

GenerateLinePragmaEnd(CodeLinePragma)

為指定行語用端產生程式碼。

GenerateLinePragmaStart(CodeLinePragma)

產生指定語用起始行的程式碼。

GenerateMethod(CodeMemberMethod, CodeTypeDeclaration)

為指定方法產生程式碼。

GenerateMethodInvokeExpression(CodeMethodInvokeExpression)

為指定的 invoke 表達式產生程式碼。

GenerateMethodReferenceExpression(CodeMethodReferenceExpression)

產生指定方法參考表達式的程式碼。

GenerateMethodReturnStatement(CodeMethodReturnStatement)

產生指定方法返回語句的程式碼。

GenerateNamespace(CodeNamespace)

為指定的命名空間產生程式碼。

GenerateNamespaceEnd(CodeNamespace)

產生命名空間結尾的程式碼。

GenerateNamespaceImport(CodeNamespaceImport)

產生指定命名空間匯入的程式碼。

GenerateNamespaceImports(CodeNamespace)

產生指定命名空間匯入的程式碼。

GenerateNamespaces(CodeCompileUnit)

為指定的編譯單元中命名空間產生程式碼。

GenerateNamespaceStart(CodeNamespace)

產生命名空間開頭的程式碼。

GenerateObjectCreateExpression(CodeObjectCreateExpression)

產生指定的物件建立表達式程式碼。

GenerateParameterDeclarationExpression(CodeParameterDeclarationExpression)

產生指定的參數宣告式程式碼。

GeneratePrimitiveExpression(CodePrimitiveExpression)

產生指定的原始表達式程式碼。

GenerateProperty(CodeMemberProperty, CodeTypeDeclaration)

為指定屬性產生程式碼。

GeneratePropertyReferenceExpression(CodePropertyReferenceExpression)

產生指定的屬性參考表達式程式碼。

GeneratePropertySetValueReferenceExpression(CodePropertySetValueReferenceExpression)

產生指定屬性集合值參考表達式的程式碼。

GenerateRemoveEventStatement(CodeRemoveEventStatement)

產生指定的 remove 事件敘述程式碼。

GenerateSingleFloatValue(Single)

產生單精度浮點數的程式碼。

GenerateSnippetCompileUnit(CodeSnippetCompileUnit)

輸出指定的文字程式碼片段編譯單元的程式碼。

GenerateSnippetExpression(CodeSnippetExpression)

輸出指定的文字程式碼片段表達式程式碼。

GenerateSnippetMember(CodeSnippetTypeMember)

輸出指定的文字程式碼片段類別成員的程式碼。

GenerateSnippetStatement(CodeSnippetStatement)

輸出指定的文字程式碼片段語句的程式碼。

GenerateStatement(CodeStatement)

為指定語句產生程式碼。

GenerateStatements(CodeStatementCollection)

為指定的語句集合產生程式碼。

GenerateThisReferenceExpression(CodeThisReferenceExpression)

為指定的參考表達式產生程式碼。

GenerateThrowExceptionStatement(CodeThrowExceptionStatement)

產生指定的拋出例外語句程式碼。

GenerateTryCatchFinallyStatement(CodeTryCatchFinallyStatement)

為指定 try-catch-finally 語句產生程式碼。

GenerateTypeConstructor(CodeTypeConstructor)

產生指定類別建構子的程式碼。

GenerateTypeEnd(CodeTypeDeclaration)

產生類別指定端點的程式碼。

GenerateTypeOfExpression(CodeTypeOfExpression)

產生指定表達式類型的程式碼。

GenerateTypeReferenceExpression(CodeTypeReferenceExpression)

產生指定型別參考表達式的程式碼。

GenerateTypes(CodeNamespace)

為指定的命名空間及其所包含的類別產生程式碼。

GenerateTypeStart(CodeTypeDeclaration)

產生類別指定起始的程式碼。

GenerateVariableDeclarationStatement(CodeVariableDeclarationStatement)

產生指定變數宣告語句的程式碼。

GenerateVariableReferenceExpression(CodeVariableReferenceExpression)

產生指定變數參考表達式的程式碼。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GetTypeOutput(CodeTypeReference)

取得指定的資料型別名稱。

IsValidIdentifier(String)

會取得一個值,表示該指定值是否為有效識別碼。

IsValidLanguageIndependentIdentifier(String)

會取得一個值,表示指定的字串是否為有效識別碼。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OutputAttributeArgument(CodeAttributeArgument)

輸出屬性區塊中的一個參數。

OutputAttributeDeclarations(CodeAttributeDeclarationCollection)

產生指定的屬性宣告集合程式碼。

OutputDirection(FieldDirection)

產生指定的 FieldDirection程式碼。

OutputExpressionList(CodeExpressionCollection, Boolean)

產生指定的表達式清單程式碼。

OutputExpressionList(CodeExpressionCollection)

產生指定的表達式清單程式碼。

OutputFieldScopeModifier(MemberAttributes)

輸出對應指定屬性的欄位範圍修飾符。

OutputIdentifier(String)

輸出指定的識別碼。

OutputMemberAccessModifier(MemberAttributes)

產生指定的成員存取修飾符程式碼。

OutputMemberScopeModifier(MemberAttributes)

產生指定的成員範圍修飾符程式碼。

OutputOperator(CodeBinaryOperatorType)

產生指定運算元的程式碼。

OutputParameters(CodeParameterDeclarationExpressionCollection)

為指定參數產生程式碼。

OutputType(CodeTypeReference)

產生指定類型的程式碼。

OutputTypeAttributes(TypeAttributes, Boolean, Boolean)

產生指定的型別屬性程式碼。

OutputTypeNamePair(CodeTypeReference, String)

為指定的物件類型與名稱對產生程式碼。

QuoteSnippetString(String)

透過格式化轉逸碼轉換指定字串。

Supports(GeneratorSupport)

會取得一個值,表示是否提供指定的程式碼產生支援。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
ValidateIdentifier(String)

若指定的字串不是有效識別碼,會拋出例外。

ValidateIdentifiers(CodeObject)

嘗試驗證指定 CodeObjectSystem.CodeDom 樹中每個識別碼欄位。

明確介面實作

名稱 Description
ICodeGenerator.CreateEscapedIdentifier(String)

為指定值建立一個逃逸識別碼。

ICodeGenerator.CreateValidIdentifier(String)

為指定值建立有效的識別碼。

ICodeGenerator.GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

為指定的程式碼文件物件模型(CodeDOM)編譯單元產生程式碼,並透過指定的選項輸出給指定的文字撰寫器。

ICodeGenerator.GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

為指定的程式碼文件物件模型(Code Document Object Model,CodeDOM)表達式產生程式碼,並輸出給指定的文字撰寫者。

ICodeGenerator.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

為指定的程式碼文件物件模型(CodeDOM)命名空間產生程式碼,並透過指定的選項輸出給指定的文字寫入器。

ICodeGenerator.GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

為指定的程式碼文件物件模型(Code Document Object Model,CodeDOM)語句產生程式碼,並透過指定的選項輸出給指定的文字撰寫器。

ICodeGenerator.GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

產生指定的程式碼文件物件模型(CodeDOM)宣告程式碼,並使用指定的選項輸出給指定的文字寫入器。

ICodeGenerator.GetTypeOutput(CodeTypeReference)

得到由指定 CodeTypeReference所指示的類型。

ICodeGenerator.IsValidIdentifier(String)

會獲得一個值,指示該指定值是否為當前語言的有效識別碼。

ICodeGenerator.Supports(GeneratorSupport)

會取得一個值,表示該產生器是否支援指定 GeneratorSupport 物件所代表的語言特性。

ICodeGenerator.ValidateIdentifier(String)

若指定值非有效識別碼,會拋出例外。

適用於

另請參閱