Partage via


CSharpCodeProvider.GenerateCodeFromMember Méthode

Définition

Génère du code pour le membre de classe spécifié en utilisant les options spécifiées du TextWriter et du générateur de code.

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)

Paramètres

member
CodeTypeMember

CodeTypeMember pour lequel du code doit être généré.

writer
TextWriter

TextWriter dans lequel écrire.

options
CodeGeneratorOptions

CodeGeneratorOptions à utiliser pendant la génération du code.

Exemples

L’exemple de code suivant montre l’utilisation de la GenerateCodeFromMember méthode pour créer un fragment de code à utiliser dans un graphique CodeDOM. Cet exemple de code fait partie d’un exemple plus grand fourni pour la GenerateCodeFromMember méthode de la 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

Remarques

Les membres sont générés différemment en fonction de leur contexte. Par exemple, une méthode dans une interface ou un champ dans une énumération est générée différemment d’une méthode ou d’un champ sur une classe. Cette implémentation génère du code pour un membre dans le contexte de classe.

S’applique à

Voir aussi