Compartir a través de


CSharpCodeProvider.GenerateCodeFromMember Método

Definición

Genera código para el miembro de clase especificado usando las opciones del generador de código y el programa de escritura de texto especificados.

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)

Parámetros

member
CodeTypeMember

CodeTypeMember para el que se va a generar código.

writer
TextWriter

TextWriter en el que se va a escribir.

options
CodeGeneratorOptions

CodeGeneratorOptions que se usarán para generar el código.

Ejemplos

En el GenerateCodeFromMember ejemplo de código siguiente se muestra el uso del método para crear un fragmento de código que se usará en un gráfico CodeDOM. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para el GenerateCodeFromMember método de la CodeDomProvider clase .

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

Comentarios

Los miembros se generan de forma diferente en función de su contexto. Por ejemplo, un método en una interfaz o un campo de una enumeración se genera de forma diferente a un método o campo en una clase. Esta implementación genera código para un miembro en el contexto de clase.

Se aplica a

Consulte también