Condividi tramite


CSharpCodeProvider.GenerateCodeFromMember Metodo

Definizione

Genera codice per il membro della classe specificato usando le opzioni del writer di testo e del generatore di codice specificate.

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)

Parametri

member
CodeTypeMember

Oggetto CodeTypeMember per il quale deve essere generato il codice.

writer
TextWriter

TextWriter in cui scrivere.

options
CodeGeneratorOptions

Oggetto CodeGeneratorOptions da usare per la generazione del codice.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso GenerateCodeFromMember del metodo per creare un frammento di codice da usare in un grafico CodeDOM. Questo esempio di codice fa parte di un esempio più grande fornito per il GenerateCodeFromMember metodo della CodeDomProvider classe.

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

Commenti

I membri vengono generati in modo diverso a seconda del contesto. Ad esempio, un metodo in un'interfaccia o un campo in un'enumerazione viene generato in modo diverso da un metodo o un campo in una classe. Questa implementazione genera codice per un membro nel contesto della classe.

Si applica a

Vedi anche