CodeDomProvider.GenerateCodeFromExpression Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает код для указанного выражения объектной модели документов кода (CodeDOM) и направляет его указанному модулю записи текста, используя заданные параметры.
public:
virtual void GenerateCodeFromExpression(System::CodeDom::CodeExpression ^ expression, System::IO::TextWriter ^ writer, System::CodeDom::Compiler::CodeGeneratorOptions ^ options);
public virtual void GenerateCodeFromExpression (System.CodeDom.CodeExpression expression, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);
abstract member GenerateCodeFromExpression : System.CodeDom.CodeExpression * System.IO.TextWriter * System.CodeDom.Compiler.CodeGeneratorOptions -> unit
override this.GenerateCodeFromExpression : System.CodeDom.CodeExpression * System.IO.TextWriter * System.CodeDom.Compiler.CodeGeneratorOptions -> unit
Public Overridable Sub GenerateCodeFromExpression (expression As CodeExpression, writer As TextWriter, options As CodeGeneratorOptions)
Параметры
- expression
- CodeExpression
Объект CodeExpression, указывающий выражение, для которого создается код.
- writer
- TextWriter
Объект TextWriter, которому направляется выходной код.
- options
- CodeGeneratorOptions
Объект CodeGeneratorOptions, указывающий параметры для использования при создании кода.
Исключения
В производном классе нельзя переопределить ни этот метод, ни метод CreateGenerator().
Комментарии
Примечание
В платформа .NET Framework версий 1.0 и 1.1 этот метод предоставляется реализациейICodeGenerator, возвращаемой CreateGenerator методом поставщика. В версии 2.0 этот метод можно вызывать непосредственно в поставщике кода, даже если он не переопределен поставщиком кода. Если поставщик кода не переопределяет этот метод, ICodeGenerator реализация вызывается базовым классом.
Примечания для тех, кто наследует этот метод
При переопределении этого метода не следует вызывать соответствующий метод базового класса. Метод базового класса создает генератор в производном классе, используя устаревший CreateGenerator() метод для обеспечения совместимости с уже существовающими поставщиками, которые используют генераторы кода. Затем метод базового класса вызывает эквивалентный метод в ICodeGenerator реализации для выполнения этой функции. Вы получите при NotImplementedException вызове метода базового класса из поставщика кода, который не использует генератор кода.