Bagikan melalui


CSharpCodeProvider.GenerateCodeFromMember Metode

Definisi

Menghasilkan kode untuk anggota kelas yang ditentukan menggunakan opsi penulis teks dan generator kode yang ditentukan.

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

untuk CodeTypeMember menghasilkan kode.

writer
TextWriter

Untuk TextWriter menulis ke.

options
CodeGeneratorOptions

yang CodeGeneratorOptions digunakan saat membuat kode.

Contoh

Contoh kode berikut menunjukkan penggunaan GenerateCodeFromMember metode untuk membuat fragmen kode yang akan digunakan dalam grafik CodeDOM. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk GenerateCodeFromMember metode CodeDomProvider kelas .

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

Keterangan

Anggota dihasilkan secara berbeda tergantung pada konteks mereka. Misalnya, metode dalam antarmuka atau bidang dalam enumerasi dihasilkan secara berbeda dari metode atau bidang pada kelas. Implementasi ini menghasilkan kode untuk anggota dalam konteks kelas.

Berlaku untuk

Lihat juga