通过


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。 有关安全需求的详细信息,请参阅 链接需求

构造函数

名称 说明
CodeGenerator()

初始化 CodeGenerator 类的新实例。

属性

名称 说明
CurrentClass

获取当前类的代码类型声明。

CurrentMember

获取类的当前成员。

CurrentMemberName

获取当前成员名称。

CurrentTypeName

获取当前类名。

Indent

获取或设置要缩进每个缩进级别的空格量。

IsCurrentClass

获取一个值,该值指示正在生成的当前对象是否为类。

IsCurrentDelegate

获取一个值,该值指示正在生成的当前对象是否为委托。

IsCurrentEnum

获取一个值,该值指示正在生成的当前对象是否为枚举。

IsCurrentInterface

获取一个值,该值指示正在生成的当前对象是否为接口。

IsCurrentStruct

获取一个值,该值指示所生成的当前对象是值类型还是结构。

NullToken

获取表示 null的标记。

Options

获取代码生成器要使用的选项。

Output

获取要用于输出的文本编写器。

方法

名称 说明
ContinueOnNewLine(String)

生成行继续符,并在新行上输出指定的字符串。

CreateEscapedIdentifier(String)

为指定值创建转义标识符。

CreateValidIdentifier(String)

为指定值创建有效的标识符。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GenerateArgumentReferenceExpression(CodeArgumentReferenceExpression)

为指定的参数引用表达式生成代码。

GenerateArrayCreateExpression(CodeArrayCreateExpression)

为指定的数组创建表达式生成代码。

GenerateArrayIndexerExpression(CodeArrayIndexerExpression)

为指定的数组索引器表达式生成代码。

GenerateAssignStatement(CodeAssignStatement)

为指定的赋值语句生成代码。

GenerateAttachEventStatement(CodeAttachEventStatement)

为指定的 attach 事件语句生成代码。

GenerateAttributeDeclarationsEnd(CodeAttributeDeclarationCollection)

为指定的属性块末尾生成代码。

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)

为指定的方法调用表达式生成代码。

GenerateMethodReferenceExpression(CodeMethodReferenceExpression)

为指定的方法引用表达式生成代码。

GenerateMethodReturnStatement(CodeMethodReturnStatement)

为指定的方法 return 语句生成代码。

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 树中包含的每个标识符字段。

显式接口实现

名称 说明
ICodeGenerator.CreateEscapedIdentifier(String)

为指定值创建转义标识符。

ICodeGenerator.CreateValidIdentifier(String)

为指定值创建有效的标识符。

ICodeGenerator.GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions)

为指定的代码文档对象模型 (CodeDOM) 编译单元生成代码,并使用指定的选项将其输出到指定的文本编写器。

ICodeGenerator.GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions)

为指定的代码文档对象模型 (CodeDOM) 表达式生成代码,并将其输出到指定的文本编写器。

ICodeGenerator.GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions)

为指定的代码文档对象模型 (CodeDOM) 命名空间生成代码,并使用指定的选项将其输出到指定的文本编写器。

ICodeGenerator.GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions)

为指定的代码文档对象模型 (CodeDOM) 语句生成代码,并使用指定的选项将其输出到指定的文本编写器。

ICodeGenerator.GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions)

为指定的代码文档对象模型 (CodeDOM) 类型声明生成代码,并使用指定的选项将其输出到指定的文本编写器。

ICodeGenerator.GetTypeOutput(CodeTypeReference)

获取由指定 CodeTypeReference类型指示的类型。

ICodeGenerator.IsValidIdentifier(String)

获取一个值,该值指示指定的值是否为当前语言的有效标识符。

ICodeGenerator.Supports(GeneratorSupport)

获取一个值,该值指示生成器是否支持由指定 GeneratorSupport 对象表示的语言功能。

ICodeGenerator.ValidateIdentifier(String)

如果指定的值不是有效的标识符,则引发异常。

适用于

另请参阅