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