CSharpCodeProvider.GenerateCodeFromMember Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.