TypeBuilder.DefineNestedType 方法

定义

定义嵌套类型。

重载

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

定义嵌套类型,其名称、属性、它所扩展的类型以及它所实现的接口已给定。

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

定义嵌套类型,指定其名称、 属性、 大小和它所扩展的类型。

DefineNestedType(String, TypeAttributes, Type, PackingSize)

定义嵌套类型,其名称、属性、它所扩展的类型以及封装大小已给定。

DefineNestedType(String)

定义嵌套的类型,并给定其名称。

DefineNestedType(String, TypeAttributes, Type)

定义嵌套类型,其名称、属性以及它所扩展的类型已给定。

DefineNestedType(String, TypeAttributes)

已知名称和属性,定义嵌套类型。

DefineNestedType(String, TypeAttributes, Type, Int32)

定义嵌套类型,其名称、属性、该类型的总大小以及它所扩展的类型已给定。

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

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套类型,其名称、属性、它所扩展的类型以及它所实现的接口已给定。

public:
 System::Reflection::Emit::TypeBuilder ^ DefineNestedType(System::String ^ name, System::Reflection::TypeAttributes attr, Type ^ parent, cli::array <Type ^> ^ interfaces);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type? parent, Type[]? interfaces);
public System.Reflection.Emit.TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, Type parent, 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
[<System.Runtime.InteropServices.ComVisible(true)>]
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

类型的短名称。 name 不能包含嵌入的 null。

attr
TypeAttributes

此类型的属性。

parent
Type

此嵌套类型扩展的类型。

interfaces
Type[]

此嵌套类型实现的接口。

返回

已定义的嵌套类型。

属性

例外

未指定嵌套属性。

- 或 -

此类型已密封。

- 或 -

此类型是一个数组。

- 或 -

此类型是一个接口,但嵌套类型不是一个接口。

- 或 -

name 的长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

- 或 -

interfaces 数组的一个元素是 null

注解

此方法可用于创建嵌套类型, CreateType 即使在封闭类型上调用 了 方法之后。

嵌套类型需要完成,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 名称与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于

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

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套类型,指定其名称、 属性、 大小和它所扩展的类型。

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);
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

类型的短名称。 name 不能包含嵌入的 null 值。

attr
TypeAttributes

此类型的属性。

parent
Type

此嵌套类型扩展的类型。

packSize
PackingSize

此类型的封装大小。

typeSize
Int32

此类型的总大小。

返回

已定义的嵌套类型。

适用于

DefineNestedType(String, TypeAttributes, Type, PackingSize)

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套类型,其名称、属性、它所扩展的类型以及封装大小已给定。

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);
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

类型的短名称。 name 不能包含嵌入的 null。

attr
TypeAttributes

此类型的属性。

parent
Type

此嵌套类型扩展的类型。

packSize
PackingSize

此类型的封装大小。

返回

已定义的嵌套类型。

例外

未指定嵌套属性。

- 或 -

此类型已密封。

- 或 -

此类型是一个数组。

- 或 -

此类型是一个接口,但嵌套类型不是一个接口。

- 或 -

name 的长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

注解

此方法可用于创建嵌套类型, CreateType 即使在封闭类型上调用 了 方法之后。

嵌套类型需要完成,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 名称与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于

DefineNestedType(String)

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套的类型,并给定其名称。

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

类型的短名称。 name 不能包含嵌入的 null。

返回

已定义的嵌套类型。

例外

name 长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

注解

此方法可用于创建嵌套类型, CreateType 即使在封闭类型上调用 了 方法之后。

嵌套类型需要完成,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 名称与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于

DefineNestedType(String, TypeAttributes, Type)

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套类型,其名称、属性以及它所扩展的类型已给定。

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);
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

类型的短名称。 name 不能包含嵌入的 null。

attr
TypeAttributes

此类型的属性。

parent
Type

此嵌套类型扩展的类型。

返回

已定义的嵌套类型。

例外

未指定嵌套属性。

- 或 -

此类型已密封。

- 或 -

此类型是一个数组。

- 或 -

此类型是一个接口,但嵌套类型不是一个接口。

- 或 -

name 的长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

注解

即使对封闭类型调用了 方法, CreateType 此方法也可用于创建嵌套类型。

需要先完成嵌套类型,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 若要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于

DefineNestedType(String, TypeAttributes)

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

已知名称和属性,定义嵌套类型。

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

类型的短名称。 name 不能包含嵌入的 null。

attr
TypeAttributes

此类型的属性。

返回

已定义的嵌套类型。

例外

未指定嵌套属性。

- 或 -

此类型已密封。

- 或 -

此类型是一个数组。

- 或 -

此类型是一个接口,但嵌套类型不是一个接口。

- 或 -

name 的长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

注解

即使对封闭类型调用了 方法, CreateType 此方法也可用于创建嵌套类型。

需要先完成嵌套类型,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 若要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于

DefineNestedType(String, TypeAttributes, Type, Int32)

Source:
TypeBuilder.cs
Source:
TypeBuilder.cs
Source:
TypeBuilder.cs

定义嵌套类型,其名称、属性、该类型的总大小以及它所扩展的类型已给定。

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);
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

类型的短名称。 name 不能包含嵌入的 null。

attr
TypeAttributes

此类型的属性。

parent
Type

此嵌套类型扩展的类型。

typeSize
Int32

此类型的总大小。

返回

已定义的嵌套类型。

例外

未指定嵌套属性。

- 或 -

此类型已密封。

- 或 -

此类型是一个数组。

- 或 -

此类型是一个接口,但嵌套类型不是一个接口。

- 或 -

name 的长度为零或大于 1023。

- 或 -

此操作将在当前程序集中创建一个具有重复 FullName 的类型。

namenull

注解

即使对封闭类型调用了 方法, CreateType 此方法也可用于创建嵌套类型。

需要先完成嵌套类型,然后才能使用 GetMembersGetNestedTypeGetNestedTypes对其进行反思。

有关嵌套类型和嵌套类型的完成顺序,请参阅 的说明 CreateType

如果 name 与以前定义的类型或嵌套类型的名称相同,则不一定创建重复的名称。 若要重复,全名必须相同,包括命名空间和所有嵌套类型。

适用于