CSharpCodeProvider.GenerateCodeFromMember Metodo

Definizione

Genera il 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 cui generare codice.

writer
TextWriter

Oggetto TextWriter in cui scrivere.

options
CodeGeneratorOptions

Oggetto CodeGeneratorOptions da utilizzare durante la generazione del codice.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del metodo per creare un frammento di GenerateCodeFromMember codice da usare in un grafo CodeDOM. Questo esempio di codice fa parte di un esempio più ampio 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