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