Udostępnij za pośrednictwem


CSharpCodeProvider.GenerateCodeFromMember Metoda

Definicja

Generuje kod dla określonego elementu członkowskiego klasy przy użyciu określonych opcji modułu zapisywania tekstu i generatora kodu.

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)

Parametry

member
CodeTypeMember

Element do CodeTypeMember wygenerowania kodu.

writer
TextWriter

Element TextWriter do zapisu.

options
CodeGeneratorOptions

Element CodeGeneratorOptions do użycia podczas generowania kodu.

Przykłady

Poniższy przykład kodu przedstawia użycie GenerateCodeFromMember metody do utworzenia fragmentu kodu do użycia w grafie CodeDOM. Ten przykład kodu jest częścią większego przykładu CodeDomProvider podanego dla GenerateCodeFromMember metody klasy.

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

Uwagi

Elementy członkowskie są generowane inaczej w zależności od ich kontekstu. Na przykład metoda w interfejsie lub polu w wyliczenia jest generowana inaczej niż metoda lub pole w klasie. Ta implementacja generuje kod elementu członkowskiego w kontekście klasy.

Dotyczy

Zobacz też