CSharpCodeProvider.GenerateCodeFromMember メソッド

定義

指定したテキスト ライターおよびコード ジェネレーター オプションを使用して、指定したクラス メンバーのコードを生成します。

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)

パラメーター

member
CodeTypeMember

コードを生成する CodeTypeMember

writer
TextWriter

書き込む TextWriter

options
CodeGeneratorOptions

コードを生成するときに使用する CodeGeneratorOptions

次のコード例は、 GenerateCodeFromMember メソッドを使用して、CodeDOM グラフで使用するコード フラグメントを作成する方法を示しています。 このコード例は、CodeDomProvider クラスの GenerateCodeFromMember メソッドに対して提供されるより大きな例の一部です。

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

注釈

メンバーは、コンテキストに応じて異なる方法で生成されます。 たとえば、インターフェイス内のメソッドや列挙型のフィールドは、クラスのメソッドまたはフィールドとは異なる方法で生成されます。 この実装では、クラス コンテキスト内のメンバーのコードが生成されます。

適用対象

こちらもご覧ください