Partager via


VBCodeProvider.GenerateCodeFromMember, méthode

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

Génère le code pour le membre de classe spécifié à l'aide du writer de texte spécifié et des options du générateur de code.

Espace de noms : Microsoft.VisualBasic
Assembly : System (dans system.dll)

Syntaxe

'Déclaration
Public Overrides Sub GenerateCodeFromMember ( _
    member As CodeTypeMember, _
    writer As TextWriter, _
    options As CodeGeneratorOptions _
)
'Utilisation
Dim instance As VBCodeProvider
Dim member As CodeTypeMember
Dim writer As TextWriter
Dim options As CodeGeneratorOptions

instance.GenerateCodeFromMember(member, writer, options)
public override void GenerateCodeFromMember (
    CodeTypeMember member,
    TextWriter writer,
    CodeGeneratorOptions options
)
public:
virtual void GenerateCodeFromMember (
    CodeTypeMember^ member, 
    TextWriter^ writer, 
    CodeGeneratorOptions^ options
) override
public void GenerateCodeFromMember (
    CodeTypeMember member, 
    TextWriter writer, 
    CodeGeneratorOptions options
)
public override function GenerateCodeFromMember (
    member : CodeTypeMember, 
    writer : TextWriter, 
    options : CodeGeneratorOptions
)

Paramètres

Notes

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é différemment d'une méthode ou d'un champ dans une classe. Cette implémentation génère le code pour un membre dans le contexte de classe.

Exemple

L'exemple de code suivant affiche l'utilisation de la méthode GenerateCodeFromMember pour créer un fragment de code à utiliser dans un graphique CodeDOM. Cet exemple de code fait partie d'un exemple plus développé fourni pour la méthode GenerateCodeFromMember de la classe CodeDomProvider.

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 'GenCodeFromMember
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());
}

Plates-formes

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de version

.NET Framework

Prise en charge dans : 2.0

Voir aussi

Référence

VBCodeProvider, classe
Membres VBCodeProvider
Microsoft.VisualBasic, espace de noms
CodeTypeMember
TextWriter
CodeGeneratorOptions