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)

Создает escape-идентификатор для указанного значения.

CreateValidIdentifier(String)

Создает допустимый идентификатор для указанного значения.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GenerateArgumentReferenceExpression(CodeArgumentReferenceExpression)

Создает код для указанного ссылочного выражения аргумента.

GenerateArrayCreateExpression(CodeArrayCreateExpression)

Создает код для указанного выражения создания массива.

GenerateArrayIndexerExpression(CodeArrayIndexerExpression)

Создает код для указанного выражения индексатора массива.

GenerateAssignStatement(CodeAssignStatement)

Создает код для указанной инструкции назначения.

GenerateAttachEventStatement(CodeAttachEventStatement)

Создает код для указанной инструкции присоединения события.

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)

Создает код для указанного конца строки pragma.

GenerateLinePragmaStart(CodeLinePragma)

Создает код для указанной строки pragma start.

GenerateMethod(CodeMemberMethod, CodeTypeDeclaration)

Создает код для указанного метода.

GenerateMethodInvokeExpression(CodeMethodInvokeExpression)

Создает код для указанного выражения вызова метода.

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 event.

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)

Преобразует указанную строку, отформатируя ее с помощью escape-кодов.

Supports(GeneratorSupport)

Возвращает значение, указывающее, предоставляется ли указанная поддержка создания кода.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
ValidateIdentifier(String)

Вызывает исключение, если указанная строка не является допустимым идентификатором.

ValidateIdentifiers(CodeObject)

Пытается проверить каждое поле идентификатора, содержащееся в указанном CodeObject или System.CodeDom дереве.

Явные реализации интерфейса

Имя Описание
ICodeGenerator.CreateEscapedIdentifier(String)

Создает escape-идентификатор для указанного значения.

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)

Создает код для указанной инструкции 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)

Создает исключение, если указанное значение не является допустимым идентификатором.

Применяется к

См. также раздел