Поделиться через


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[])

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

-или-

Элемент массива interfaces является null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть повторяющимися, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к

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

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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)

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть повторяющимися, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к

DefineNestedType(String)

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть повторяющимися, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к

DefineNestedType(String, TypeAttributes, Type)

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть дубликатами, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к

DefineNestedType(String, TypeAttributes)

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть дубликатами, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к

DefineNestedType(String, TypeAttributes, Type, Int32)

Исходный код:
TypeBuilder.cs
Исходный код:
TypeBuilder.cs
Исходный код:
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 в текущей сборке.

name имеет значение null.

Комментарии

Этот метод можно использовать для создания вложенных типов даже после CreateType вызова метода для включающего типа.

Вложенный тип должен быть завершен, прежде чем вы сможете обдумать его с помощью GetMembers, GetNestedTypeили GetNestedTypes.

Порядок, в котором должны быть заполнены вложенные типы и вложенные типы, см. в описании CreateType .

Повторяющееся имя не обязательно создается, если name оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть дубликатами, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.

Применяется к