次の方法で共有


TypeBuilder.DefineNestedType メソッド (String, TypeAttributes, Type, Int32)

名前、属性、型の合計サイズ、および拡張する型を指定して、入れ子になった型を定義します。

Overloads Public Function DefineNestedType( _
   ByVal name As String, _   ByVal attr As TypeAttributes, _   ByVal parent As Type, _   ByVal typeSize As Integer _) As TypeBuilder
[C#]
public TypeBuilder DefineNestedType(stringname,TypeAttributesattr,Typeparent,inttypeSize);
[C++]
public: TypeBuilder* DefineNestedType(String* name,TypeAttributesattr,Type* parent,inttypeSize);
[JScript]
public function DefineNestedType(
   name : String,attr : TypeAttributes,parent : Type,typeSize : int) : TypeBuilder;

パラメータ

  • name
    型の完全パス。name に null を埋め込むことはできません。
  • attr
    型の属性。
  • parent
    入れ子になった型を拡張する型。
  • typeSize
    型の合計サイズ。

戻り値

定義された入れ子になった型。

例外

例外の種類 条件
ArgumentException 入れ子になった属性が指定されていません。

または

この型はシール型です。

または

この型は配列です。

または

この型はインターフェイスですが、入れ子になった型はインターフェイスではありません。

または

name の長さが 0 です。

ArgumentNullException name が null 参照 (Visual Basic では Nothing) です。

または

interfaces 配列に null インターフェイスが指定されています。

InvalidOperationException この型は、 CreateType を使用して既に作成されています。

解説

入れ子になった型が完全な型になっていないと、 GetMembersGetNestedType 、または GetNestedTypes を使用して、入れ子になったその型に対するリフレクション機能を実行できません。

入れ子になった型と入れ子の型を完成する順序については、 CreateType のトピックの説明を参照してください。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

TypeBuilder クラス | TypeBuilder メンバ | System.Reflection.Emit 名前空間 | TypeBuilder.DefineNestedType オーバーロードの一覧