Aracılığıyla paylaş


CSharpCodeProvider.GenerateCodeFromMember Yöntem

Tanım

Belirtilen metin yazıcı ve kod oluşturucu seçeneklerini kullanarak belirtilen sınıf üyesi için kod oluşturur.

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)

Parametreler

member
CodeTypeMember

CodeTypeMember Kodun oluşturulacağı A.

writer
TextWriter

TextWriter Yazacak olan.

options
CodeGeneratorOptions

CodeGeneratorOptions Kodu oluştururken kullanılacak.

Örnekler

Aşağıdaki kod örneği, CodeDOM grafiğinde GenerateCodeFromMember kullanılacak bir kod parçası oluşturmak için yönteminin kullanımını gösterir. Bu kod örneği, sınıfının yöntemi için GenerateCodeFromMember sağlanan daha büyük bir örneğin parçasıdır CodeDomProvider .

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

Açıklamalar

Üyeler, bağlamlarına bağlı olarak farklı şekilde oluşturulur. Örneğin, bir arabirimdeki yöntem veya numaralandırmadaki bir alan, bir sınıftaki yöntem veya alandan farklı oluşturulur. Bu uygulama, sınıf bağlamında bir üye için kod oluşturur.

Şunlara uygulanır

Ayrıca bkz.