CSharpCodeProvider.GenerateCodeFromMember Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Generiert Code für das angegebene Klassenelement mithilfe der angegebenen Textschreiber- und Codegeneratoroptionen.
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
A CodeTypeMember zum Generieren von Code.
- writer
- TextWriter
Der TextWriter zu schreibende Code.
- options
- CodeGeneratorOptions
Die CodeGeneratorOptions zu verwendende Verwendung beim Generieren des Codes.
Beispiele
Das folgende Codebeispiel zeigt die Verwendung der GenerateCodeFromMember Methode zum Erstellen eines Codefragments, das in einem CodeDOM-Diagramm verwendet werden soll. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die GenerateCodeFromMember Methode der CodeDomProvider Klasse bereitgestellt wird.
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
Hinweise
Elemente werden je nach Kontext unterschiedlich generiert. Beispielsweise wird eine Methode in einer Schnittstelle oder ein Feld in einer Enumeration anders generiert als eine Methode oder ein Feld einer Klasse. Diese Implementierung generiert Code für ein Element im Klassenkontext.