Freigeben über


CSharpCodeProvider.GenerateCodeFromMember Methode

Definition

Generiert Code für den angegebenen Klassenmember unter Verwendung der angegebenen TextWriter- und Code-Generator-Optionen.

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)

Parameter

member
CodeTypeMember

Ein CodeTypeMember, für den Code generiert werden soll.

writer
TextWriter

Der TextWriter, in den geschrieben werden soll.

options
CodeGeneratorOptions

Der beim Generieren von Code zu verwendende CodeGeneratorOptions.

Beispiele

Das folgende Codebeispiel zeigt die Verwendung der GenerateCodeFromMember -Methode zum Erstellen eines Codefragments, das in einem CodeDOM-Diagramm verwendet werden soll. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die GenerateCodeFromMember -Methode der CodeDomProvider -Klasse bereitgestellt wird.

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

Hinweise

Elemente werden je nach Kontext unterschiedlich generiert. Beispielsweise wird eine Methode in einer Schnittstelle oder ein Feld in einer Enumeration anders als eine Methode oder ein Feld in einer Klasse generiert. Diese Implementierung generiert Code für ein Element im Klassenkontext.

Gilt für:

Weitere Informationen