TypeBuilder.DefineNestedType メソッド

定義

入れ子にされた型を定義します。Defines a nested type.

オーバーロード

DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32)

入れ子にされた型、指定された名前、属性、サイズ、および拡張する型を定義します。Defines a nested type, given its name, attributes, size, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, Type[])

指定された名前、属性、拡張する基本型、および実装するインターフェイスを指定して、ネスト型を定義します。Defines a nested type, given its name, attributes, the type that it extends, and the interfaces that it implements.

DefineNestedType(String, TypeAttributes, Type, Int32)

入れ子にされた型、指定された名前、属性、型の合計サイズ、および拡張する型を定義します。Defines a nested type, given its name, attributes, the total size of the type, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, PackingSize)

入れ子にされた型、指定された名前、属性、拡張する型、およびパッキング サイズを定義します。Defines a nested type, given its name, attributes, the type that it extends, and the packing size.

DefineNestedType(String, TypeAttributes)

指定した名前と属性を持つ入れ子にされた型を定義します。Defines a nested type, given its name and attributes.

DefineNestedType(String)

名前を指定された、入れ子にされた型を定義します。Defines a nested type, given its name.

DefineNestedType(String, TypeAttributes, Type)

入れ子にされた型、指定された名前、属性、および拡張する型を定義します。Defines a nested type, given its name, attributes, and the type that it extends.

DefineNestedType(String, TypeAttributes, Type, PackingSize, Int32)

入れ子にされた型、指定された名前、属性、サイズ、および拡張する型を定義します。Defines a nested type, given its name, attributes, size, and the type that it extends.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packSize, int typeSize);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packSize, int typeSize);
member this.DefineNestedType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes, parent As Type, packSize As PackingSize, typeSize As Integer) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded null values.

attr
TypeAttributes

型の属性。The attributes of the type.

parent
Type

入れ子にされた型を拡張する型。The type that the nested type extends.

packSize
PackingSize

型のパッキング サイズ。The packing size of the type.

typeSize
Int32

型の合計サイズ。The total size of the type.

戻り値

定義済みの入れ子にされた型。The defined nested type.

DefineNestedType(String, TypeAttributes, Type, Type[])

指定された名前、属性、拡張する基本型、および実装するインターフェイスを指定して、ネスト型を定義します。Defines a nested type, given its name, attributes, the type that it extends, and the interfaces that it implements.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, cli::array <Type ^> ^ interfaces);
[System.Runtime.InteropServices.ComVisible(true)]
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent, Type[] interfaces);
member this.DefineNestedType : string * System.Reflection.TypeAttributes * Type * Type[] -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes, parent As Type, interfaces As Type()) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

attr
TypeAttributes

型の属性。The attributes of the type.

parent
Type

入れ子にされた型を拡張する型。The type that the nested type extends.

interfaces
Type[]

入れ子型で実装されるインターフェイス。The interfaces that the nested type implements.

戻り値

定義済みの入れ子にされた型。The defined nested type.

属性

例外

入れ子にされた属性が指定されていません。The nested attribute is not specified.

または-or- この型は封印されています。This type is sealed.

- または --or- この型は配列です。This type is an array.

- または --or- この型はインターフェイスですが、入れ子にされた型がインターフェイスではありません。This type is an interface, but the nested type is not an interface.

または-or- name の長さが 0 であるか、1023 を超えています。The length of name is zero or greater than 1023.

- または --or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenull です。name is null.

または-or- interfaces 配列の要素が null です。An element of the interfaces array is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

DefineNestedType(String, TypeAttributes, Type, Int32)

入れ子にされた型、指定された名前、属性、型の合計サイズ、および拡張する型を定義します。Defines a nested type, given its name, attributes, the total size of the type, and the type that it extends.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, int typeSize);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent, int typeSize);
member this.DefineNestedType : string * System.Reflection.TypeAttributes * Type * int -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes, parent As Type, typeSize As Integer) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

attr
TypeAttributes

型の属性。The attributes of the type.

parent
Type

入れ子にされた型を拡張する型。The type that the nested type extends.

typeSize
Int32

型の合計サイズ。The total size of the type.

戻り値

定義済みの入れ子にされた型。The defined nested type.

例外

入れ子にされた属性が指定されていません。The nested attribute is not specified.

- または --or- この型は封印されています。This type is sealed.

または-or- この型は配列です。This type is an array.

- または --or- この型はインターフェイスですが、入れ子にされた型がインターフェイスではありません。This type is an interface, but the nested type is not an interface.

または-or- name の長さが 0 であるか、1023 を超えています。The length of name is zero or greater than 1023.

- または --or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenullです。name is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

DefineNestedType(String, TypeAttributes, Type, PackingSize)

入れ子にされた型、指定された名前、属性、拡張する型、およびパッキング サイズを定義します。Defines a nested type, given its name, attributes, the type that it extends, and the packing size.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, System::Reflection::Emit::PackingSize packSize);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent, System.Reflection.Emit.PackingSize packSize);
member this.DefineNestedType : string * System.Reflection.TypeAttributes * Type * System.Reflection.Emit.PackingSize -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes, parent As Type, packSize As PackingSize) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

attr
TypeAttributes

型の属性。The attributes of the type.

parent
Type

入れ子にされた型を拡張する型。The type that the nested type extends.

packSize
PackingSize

型のパッキング サイズ。The packing size of the type.

戻り値

定義済みの入れ子にされた型。The defined nested type.

例外

入れ子にされた属性が指定されていません。The nested attribute is not specified.

- または --or- この型は封印されています。This type is sealed.

または-or- この型は配列です。This type is an array.

または-or- この型はインターフェイスですが、入れ子にされた型がインターフェイスではありません。This type is an interface, but the nested type is not an interface.

または-or- name の長さが 0 であるか、1023 を超えています。The length of name is zero or greater than 1023.

- または --or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenull です。name is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

DefineNestedType(String, TypeAttributes)

指定した名前と属性を持つ入れ子にされた型を定義します。Defines a nested type, given its name and attributes.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr);
member this.DefineNestedType : string * System.Reflection.TypeAttributes -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

attr
TypeAttributes

型の属性。The attributes of the type.

戻り値

定義済みの入れ子にされた型。The defined nested type.

例外

入れ子にされた属性が指定されていません。The nested attribute is not specified.

- または --or- この型は封印されています。This type is sealed.

または-or- この型は配列です。This type is an array.

- または --or- この型はインターフェイスですが、入れ子にされた型がインターフェイスではありません。This type is an interface, but the nested type is not an interface.

- または --or- name の長さが 0 であるか、1023 を超えています。The length of name is zero or greater than 1023.

- または --or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenullです。name is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

DefineNestedType(String)

名前を指定された、入れ子にされた型を定義します。Defines a nested type, given its name.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name);
member this.DefineNestedType : string -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

戻り値

定義済みの入れ子にされた型。The defined nested type.

例外

name の長さが 0 または 1023 を超えています。Length of name is zero or greater than 1023.

- または --or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenullです。name is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

DefineNestedType(String, TypeAttributes, Type)

入れ子にされた型、指定された名前、属性、および拡張する型を定義します。Defines a nested type, given its name, attributes, and the type that it extends.

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent);
member this.DefineNestedType : string * System.Reflection.TypeAttributes * Type -> System.Reflection.Emit.TypeBuilder
Public Function DefineNestedType (name As String, attr As TypeAttributes, parent As Type) As TypeBuilder

パラメーター

name
String

型の短い名前。The short name of the type. name に埋め込み null 値を含めることはできません。name cannot contain embedded nulls.

attr
TypeAttributes

型の属性。The attributes of the type.

parent
Type

入れ子にされた型を拡張する型。The type that the nested type extends.

戻り値

定義済みの入れ子にされた型。The defined nested type.

例外

入れ子にされた属性が指定されていません。The nested attribute is not specified.

- または --or- この型は封印されています。This type is sealed.

- または --or- この型は配列です。This type is an array.

- または --or- この型はインターフェイスですが、入れ子にされた型がインターフェイスではありません。This type is an interface, but the nested type is not an interface.

- または --or- name の長さが 0 であるか、1023 を超えています。The length of name is zero or greater than 1023.

または-or- この操作では、現在のアセンブリ内に FullName が重複する型が作成されます。This operation would create a type with a duplicate FullName in the current assembly.

namenullです。name is null.

注釈

このメソッドは、外側の型で CreateType メソッドが呼び出された後でも、入れ子にされた型を作成するために使用できます。This method can be used to create nested types even after the CreateType method has been called on the enclosing type.

入れ子になった型は、GetMembersGetNestedType、または GetNestedTypes を使用してリフレクションする前に完了している必要があります。The nested type needs to be complete before you can reflect on it using GetMembers, GetNestedType, or GetNestedTypes.

入れ子になった型と入れ子の型を完了する順序については CreateType の説明を参照してください。See the description of CreateType for the order in which nested types and nesting types should be completed.

@No__t-0 が以前に定義された型または入れ子になった型の名前と同じ場合、重複する名前は必ずしも作成されるとは限りません。A duplicate name is not necessarily created if name is identical to the name of a previously defined type or nested type. 重複しないようにするには、完全名が同じである必要があります。これには、名前空間とすべての入れ子の型が含まれます。To be duplicates, the full names must be the same, including the namespace and all nesting types.

適用対象