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


CSharpCodeProvider.GenerateCodeFromMember Метод

Определение

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

public:
 override void GenerateCodeFromMember(System::CodeDom::CodeTypeMember ^ member, System::IO::TextWriter ^ writer, System::CodeDom::Compiler::CodeGeneratorOptions ^ options);
public override void GenerateCodeFromMember (System.CodeDom.CodeTypeMember member, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);
override this.GenerateCodeFromMember : System.CodeDom.CodeTypeMember * System.IO.TextWriter * System.CodeDom.Compiler.CodeGeneratorOptions -> unit
Public Overrides Sub GenerateCodeFromMember (member As CodeTypeMember, writer As TextWriter, options As CodeGeneratorOptions)

Параметры

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());
}
    Shared Sub GenCodeFromMember(ByVal provider As CodeDomProvider, ByVal options As CodeGeneratorOptions) 
        options.BracingStyle = "C"
        Dim method1 As 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")))
        Dim sw As New StringWriter()
        provider.GenerateCodeFromMember(method1, sw, options)
        snippetMethod = New CodeSnippetTypeMember(sw.ToString())
    
    End Sub
End Class

Комментарии

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

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

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