CSharpCodeProvider.GenerateCodeFromMember Methode

Definitie

Hiermee genereert u code voor het opgegeven klasselid met behulp van de opgegeven opties voor tekstschrijver en codegenerator.

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)

Parameters

member
CodeTypeMember

Een CodeTypeMember voor het genereren van code.

writer
TextWriter

De TextWriter te schrijven naar.

options
CodeGeneratorOptions

De CodeGeneratorOptions te gebruiken bij het genereren van de code.

Voorbeelden

In het volgende codevoorbeeld ziet u het gebruik van de GenerateCodeFromMember methode om een codefragment te maken dat moet worden gebruikt in een CodeDOM-grafiek. Dit codevoorbeeld maakt deel uit van een groter voorbeeld dat is opgegeven voor de GenerateCodeFromMember methode van de CodeDomProvider klasse.

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

Opmerkingen

Leden worden anders gegenereerd, afhankelijk van hun context. Een methode in een interface of een veld in een opsomming wordt bijvoorbeeld anders gegenereerd dan een methode of veld in een klasse. Met deze implementatie wordt code gegenereerd voor een lid in de klassecontext.

Van toepassing op

Zie ook