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 в текущей сборке.
Комментарии
Этот метод можно использовать для создания вложенных типов даже после 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 оно идентично имени ранее определенного типа или вложенного типа. Чтобы быть дубликатами, полные имена должны быть одинаковыми, включая пространство имен и все вложенные типы.