英語で読む

次の方法で共有


VBCodeProvider.GenerateCodeFromMember メソッド

定義

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

C#
public override void GenerateCodeFromMember (System.CodeDom.CodeTypeMember member, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);

パラメーター

member
CodeTypeMember

コード生成の対象となる CodeTypeMember

writer
TextWriter

書き込み先の TextWriter

options
CodeGeneratorOptions

コードの生成時に使用する CodeGeneratorOptions

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

C#
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());
}

注釈

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

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

こちらもご覧ください