名前、属性、および拡張する型を指定して、入れ子になった型を定義します。
Overloads Public Function DefineNestedType( _
ByVal name As String, _ ByVal attr As TypeAttributes, _ ByVal parent As Type _) As TypeBuilder
[C#]
public TypeBuilder DefineNestedType(stringname,TypeAttributesattr,Typeparent);
[C++]
public: TypeBuilder* DefineNestedType(String* name,TypeAttributesattr,Type* parent);
[JScript]
public function DefineNestedType(
name : String,attr : TypeAttributes,parent : Type) : TypeBuilder;
パラメータ
- name
型の完全パス。name に null を埋め込むことはできません。 - attr
型の属性。 - parent
入れ子になった型を拡張する型。
戻り値
定義された入れ子になった型。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | 入れ子になった属性が指定されていません。
または この型はシール型です。 または この型は配列です。 または この型はインターフェイスですが、入れ子になった型はインターフェイスではありません。 または name の長さが 0 です。 |
ArgumentNullException | name が null 参照 (Visual Basic では Nothing) です。
または interfaces 配列に null インターフェイスが指定されています。 |
InvalidOperationException | この型は、 CreateType を使用して既に作成されています。 |
解説
入れ子になった型が完全な型になっていないと、 GetMembers 、 GetNestedType 、または 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 オーバーロードの一覧