AppDomain.CreateInstance Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый экземпляр заданного типа, определенного в указанной сборке.
Перегрузки
CreateInstance(String, String) |
Создает новый экземпляр заданного типа, определенного в указанной сборке. |
CreateInstance(String, String, Object[]) |
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметр определяет массив атрибутов активации. |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметры определяют средство связывания, флаги привязки, аргументы конструктора, сведения, связанные с языком и региональными параметрами, используемые для интерпретации аргументов, и необязательные атрибуты активации. |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Устаревшие..
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметры определяют средство связывания, флаги привязки, аргументы конструктора, сведения, связанные с языком и региональными параметрами, используемые для интерпретации аргументов, атрибуты активации и авторизацию для создания типа. |
CreateInstance(String, String)
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
Создает новый экземпляр заданного типа, определенного в указанной сборке.
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle
Параметры
- typeName
- String
Полное имя запрошенного типа, включая пространство имен, но не сборку (см. описание свойства FullName).
Возвращаемое значение
Объект, являющийся оболочкой для нового экземпляра, заданного параметром typeName
. Необходимо распаковать возвращенное значение, чтобы получить доступ к реальному объекту.
Реализации
Исключения
Предпринята попытка выполнения операции с выгруженным доменом приложения.
Параметр assemblyName
или typeName
имеет значение null
.
assemblyName
не является допустимой сборкой для текущей загруженной среды выполнения.
Сборка или модуль был загружен дважды с двумя разными свидетельствами.
Не удалось найти assemblyName
.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Соответствующий общий конструктор не найден.
Не удалось найти typename
в assemblyName
.
Этот экземпляр имеет значение null
.
Комментарии
Этот метод вызывает конструктор без параметров для typeName
.
Формат см AssemblyName . в разделе assemblyName
.
Попытка вызова CreateInstance в целевом домене приложения, который не является текущим доменом приложения, приведет к успешной загрузке сборки в целевом домене приложения. Assembly Так как не MarshalByRefObjectявляется , когда этот метод пытается вернуть Assembly для загруженной сборки в текущий домен приложения, среда CLR попытается загрузить сборку в текущий домен приложения, и загрузка может завершиться ошибкой. Сборка, загружаемая в текущий домен приложения, может отличаться от сборки, которая была загружена первым, если параметры пути для двух доменов приложений отличаются.
См. также раздел
Применяется к
CreateInstance(String, String, Object[])
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметр определяет массив атрибутов активации.
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle
Параметры
- typeName
- String
Полное имя запрошенного типа, включая пространство имен, но не сборку (см. описание свойства FullName).
- activationAttributes
- Object[]
Массив, состоящий из одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, определяющий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активируемыми клиентом. Активация клиентом — это устаревшая технология, которая сохраняется с целью обеспечения обратной совместимости; ее не рекомендуется использовать для разработки новых приложений. Сейчас в распределенных приложениях следует использовать Windows Communication Foundation.
Возвращаемое значение
Объект, являющийся оболочкой для нового экземпляра, заданного параметром typeName
. Необходимо распаковать возвращенное значение, чтобы получить доступ к реальному объекту.
Реализации
Исключения
Предпринята попытка выполнения операции с выгруженным доменом приложения.
Параметр assemblyName
или typeName
имеет значение null
.
assemblyName
не является допустимой сборкой для текущей загруженной среды выполнения.
Сборка или модуль был загружен дважды с двумя разными свидетельствами.
Не удалось найти assemblyName
.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Соответствующий общий конструктор не найден.
Вызывающий объект не может предоставить атрибуты активации для объекта, который не является производным от MarshalByRefObject.
Не удалось найти typename
в assemblyName
.
Этот экземпляр имеет значение null
.
Комментарии
Этот метод вызывает конструктор без параметров для typeName
.
Формат см AssemblyName . в разделе assemblyName
.
Попытка вызова CreateInstance в целевом домене приложения, который не является текущим доменом приложения, приведет к успешной загрузке сборки в целевом домене приложения. Assembly Так как не MarshalByRefObjectявляется , когда этот метод пытается вернуть Assembly для загруженной сборки в текущий домен приложения, среда CLR попытается загрузить сборку в текущий домен приложения, и загрузка может завершиться ошибкой. Сборка, загружаемая в текущий домен приложения, может отличаться от сборки, которая была загружена первым, если параметры пути для двух доменов приложений отличаются.
См. также раздел
Применяется к
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметры определяют средство связывания, флаги привязки, аргументы конструктора, сведения, связанные с языком и региональными параметрами, используемые для интерпретации аргументов, и необязательные атрибуты активации.
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle
Параметры
- typeName
- String
Полное имя запрошенного типа, включая пространство имен, но не сборку (см. описание свойства FullName).
- ignoreCase
- Boolean
Логическое значение, указывающее, следует ли учитывать регистр при поиске.
- bindingAttr
- BindingFlags
Сочетание битовых флагов, влияющих на поиск конструктора typeName
. Если значение параметра bindingAttr
равно нулю, проводится поиск открытых конструкторов с учетом регистра.
- binder
- Binder
Объект, позволяющий осуществлять привязку, приведение типов аргументов, вызов элементов, а также поиск объектов MemberInfo с помощью отражения. Если значением параметра binder
является null, то используется средство связывания по умолчанию.
- args
- Object[]
Аргументы для передачи конструктору. Массив аргументов должен соответствовать по числу, порядку и типу параметров вызываемому конструктору. Если предпочтителен конструктор без параметров, то объект args
должен быть пустым массивом или значением NULL.
- culture
- CultureInfo
Сведения о языке и региональных параметрах, которые влияют на приведение args
к формальным типам, объявленным для конструктора typeName
. Если параметр culture
имеет значение null
, для текущего потока используется объект CultureInfo.
- activationAttributes
- Object[]
Массив, состоящий из одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, определяющий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активируемыми клиентом. Активация клиентом — это устаревшая технология, которая сохраняется с целью обеспечения обратной совместимости; ее не рекомендуется использовать для разработки новых приложений. Сейчас в распределенных приложениях следует использовать Windows Communication Foundation.
Возвращаемое значение
Объект, являющийся оболочкой для нового экземпляра, заданного параметром typeName
. Необходимо распаковать возвращенное значение, чтобы получить доступ к реальному объекту.
Исключения
Предпринята попытка выполнения операции с выгруженным доменом приложения.
Параметр assemblyName
или typeName
имеет значение null
.
assemblyName
не является допустимой сборкой для текущей загруженной среды выполнения.
Сборка или модуль был загружен дважды с двумя разными свидетельствами.
Не удалось найти assemblyName
.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Соответствующий конструктор не найден.
Вызывающий объект не может предоставить атрибуты активации для объекта, который не является производным от MarshalByRefObject.
Не удалось найти typename
в assemblyName
.
Этот экземпляр имеет значение null
.
Комментарии
Формат см AssemblyName . в разделе assemblyName
.
Попытка вызова CreateInstance в целевом домене приложения, который не является текущим доменом приложения, приведет к успешной загрузке сборки в целевом домене приложения. Assembly Так как не MarshalByRefObjectявляется , когда этот метод пытается вернуть Assembly для загруженной сборки в текущий домен приложения, среда CLR попытается загрузить сборку в текущий домен приложения, и загрузка может завершиться ошибкой. Сборка, загружаемая в текущий домен приложения, может отличаться от сборки, которая была загружена первым, если параметры пути для двух доменов приложений отличаются.
См. также раздел
Применяется к
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Внимание!
Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Создает новый экземпляр заданного типа, определенного в указанной сборке. Параметры определяют средство связывания, флаги привязки, аргументы конструктора, сведения, связанные с языком и региональными параметрами, используемые для интерпретации аргументов, атрибуты активации и авторизацию для создания типа.
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle
Параметры
- typeName
- String
Полное имя запрошенного типа, включая пространство имен, но не сборку (см. описание свойства FullName).
- ignoreCase
- Boolean
Логическое значение, указывающее, следует ли учитывать регистр при поиске.
- bindingAttr
- BindingFlags
Сочетание битовых флагов, влияющих на поиск конструктора typeName
. Если значение параметра bindingAttr
равно нулю, проводится поиск открытых конструкторов с учетом регистра.
- binder
- Binder
Объект, позволяющий осуществлять привязку, приведение типов аргументов, вызов элементов, а также поиск объектов MemberInfo с помощью отражения. Если значением параметра binder
является null, то используется средство связывания по умолчанию.
- args
- Object[]
Аргументы для передачи конструктору. Массив аргументов должен соответствовать по числу, порядку и типу параметров вызываемому конструктору. Если предпочтителен конструктор без параметров, то объект args
должен быть пустым массивом или значением NULL.
- culture
- CultureInfo
Сведения о языке и региональных параметрах, которые влияют на приведение args
к формальным типам, объявленным для конструктора typeName
. Если параметр culture
имеет значение null
, для текущего потока используется объект CultureInfo.
- activationAttributes
- Object[]
Массив, состоящий из одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, определяющий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активируемыми клиентом. Активация клиентом — это устаревшая технология, которая сохраняется с целью обеспечения обратной совместимости; ее не рекомендуется использовать для разработки новых приложений. Сейчас в распределенных приложениях следует использовать Windows Communication Foundation.
- securityAttributes
- Evidence
Сведения, используемые для авторизации создания typeName
.
Возвращаемое значение
Объект, являющийся оболочкой для нового экземпляра, заданного параметром typeName
. Необходимо распаковать возвращенное значение, чтобы получить доступ к реальному объекту.
Реализации
- Атрибуты
Исключения
Предпринята попытка выполнения операции с выгруженным доменом приложения.
Параметр assemblyName
или typeName
имеет значение null
.
assemblyName
не является допустимой сборкой для текущей загруженной среды выполнения.
Сборка или модуль был загружен дважды с двумя разными свидетельствами.
Не удалось найти assemblyName
.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Соответствующий конструктор не найден.
Вызывающий объект не может предоставить атрибуты активации для объекта, который не является производным от MarshalByRefObject.
-или-
securityAttributes
не является null
. Если не включена политика разграничения доступа кода для кода предыдущей версии, securityAttributes
должно иметь значение null
Не удалось найти typename
в assemblyName
.
Этот экземпляр имеет значение null
.
Комментарии
Формат см AssemblyName . в разделе assemblyName
.
Попытка вызова CreateInstance в целевом домене приложения, который не является текущим доменом приложения, приведет к успешной загрузке сборки в целевом домене приложения. Assembly Так как не MarshalByRefObjectявляется , когда этот метод пытается вернуть Assembly для загруженной сборки в текущий домен приложения, среда CLR попытается загрузить сборку в текущий домен приложения, и загрузка может завершиться ошибкой. Сборка, загруженная в текущий домен приложения, может отличаться от сборки, которая была загружена первым, если параметры пути для двух доменов приложений отличаются.
См. также раздел
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по