Прочитать на английском

Поделиться через


CSharpCodeProvider.GenerateCodeFromMember Метод

Определение

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

public override void GenerateCodeFromMember(System.CodeDom.CodeTypeMember member, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);

Параметры

member
CodeTypeMember

Класс CodeTypeMember, для которого создается код.

writer
TextWriter

Экземпляр TextWriter, в который выполняется запись.

options
CodeGeneratorOptions

Параметры CodeGeneratorOptions, используемые при создании кода.

Примеры

В следующем примере кода показано использование GenerateCodeFromMember метода для создания фрагмента кода, который будет использоваться в графе CodeDOM. Этот пример кода является частью более крупного примера, предоставленного GenerateCodeFromMemberCodeDomProvider для метода класса .

static void GenCodeFromMember(CodeDomProvider provider, CodeGeneratorOptions options)
{
    options.BracingStyle = "C";
    CodeMemberMethod method1 = new CodeMemberMethod();
    method1.Name = "ReturnString";
    method1.Attributes = MemberAttributes.Public;
    method1.ReturnType = new CodeTypeReference("System.String");
    method1.Parameters.Add(new CodeParameterDeclarationExpression("System.String", "text"));
    method1.Statements.Add(new CodeMethodReturnStatement(new CodeArgumentReferenceExpression("text")));
    StringWriter sw = new StringWriter();
    provider.GenerateCodeFromMember(method1, sw, options);
    snippetMethod = new CodeSnippetTypeMember(sw.ToString());
}

Комментарии

Члены создаются по-разному в зависимости от контекста. Например, метод в интерфейсе или поле в перечислении создаются иначе, чем метод или поле в классе. Эта реализация создает код для члена в контексте класса.

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

Продукт Версии
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

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