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


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

Параметры

assemblyName
String

Отображаемое имя сборки. См. FullName.

typeName
String

Полное имя запрошенного типа, включая пространство имен, но не сборку, как возвращается свойством FullName.

Возвращаемое значение

Объект, который является оболочкой для нового экземпляра, указанного typeName. Возвращаемое значение должно быть раскрыто для доступа к реальному объекту.

Реализации

Исключения

Операция выполняется в выгруженном домене приложения.

assemblyName или typeNamenull.

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

Параметры

assemblyName
String

Отображаемое имя сборки. См. FullName.

typeName
String

Полное имя запрошенного типа, включая пространство имен, но не сборку, как возвращается свойством FullName.

activationAttributes
Object[]

Массив одного или нескольких атрибутов, которые могут участвовать в активации. Как правило, массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.

Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.

Возвращаемое значение

Объект, который является оболочкой для нового экземпляра, указанного typeName. Возвращаемое значение должно быть раскрыто для доступа к реальному объекту.

Реализации

Исключения

Операция выполняется в выгруженном домене приложения.

assemblyName или typeNamenull.

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

Параметры

assemblyName
String

Отображаемое имя сборки. См. FullName.

typeName
String

Полное имя запрошенного типа, включая пространство имен, но не сборку, как возвращается свойством FullName.

ignoreCase
Boolean

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

bindingAttr
BindingFlags

Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName. Если bindingAttr равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.

binder
Binder

Объект, который включает привязку, приведение типов аргументов, вызов элементов и получение объектов MemberInfo с помощью отражения. Если binder имеет значение NULL, используется привязка по умолчанию.

args
Object[]

Аргументы, которые необходимо передать конструктору. Этот массив аргументов должен соответствовать числу, порядку и типу параметров вызываемого конструктора. Если конструктор без параметров предпочтителен, args должен быть пустым массивом или null.

culture
CultureInfo

Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args к формальным типам, объявленным для конструктора typeName. Если culturenull, используется CultureInfo для текущего потока.

activationAttributes
Object[]

Массив одного или нескольких атрибутов, которые могут участвовать в активации. Как правило, массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.

Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.

Возвращаемое значение

Объект, который является оболочкой для нового экземпляра, указанного typeName. Возвращаемое значение должно быть раскрыто для доступа к реальному объекту.

Исключения

Операция выполняется в выгруженном домене приложения.

assemblyName или typeNamenull.

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

Параметры

assemblyName
String

Отображаемое имя сборки. См. FullName.

typeName
String

Полное имя запрошенного типа, включая пространство имен, но не сборку, как возвращается свойством FullName.

ignoreCase
Boolean

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

bindingAttr
BindingFlags

Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName. Если bindingAttr равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.

binder
Binder

Объект, который включает привязку, приведение типов аргументов, вызов элементов и получение объектов MemberInfo с помощью отражения. Если binder имеет значение NULL, используется привязка по умолчанию.

args
Object[]

Аргументы, которые необходимо передать конструктору. Этот массив аргументов должен соответствовать числу, порядку и типу параметров вызываемого конструктора. Если конструктор без параметров предпочтителен, args должен быть пустым массивом или null.

culture
CultureInfo

Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args к формальным типам, объявленным для конструктора typeName. Если culturenull, используется CultureInfo для текущего потока.

activationAttributes
Object[]

Массив одного или нескольких атрибутов, которые могут участвовать в активации. Как правило, массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.

Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.

securityAttributes
Evidence

Сведения, используемые для авторизации создания typeName.

Возвращаемое значение

Объект, который является оболочкой для нового экземпляра, указанного typeName. Возвращаемое значение должно быть раскрыто для доступа к реальному объекту.

Реализации

Атрибуты

Исключения

Операция выполняется в выгруженном домене приложения.

assemblyName или typeNamenull.

assemblyName не является допустимой сборкой для текущей загруженной среды выполнения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

assemblyName не найден.

Вызывающий объект не имеет разрешения на вызов этого конструктора.

Не найден соответствующий конструктор.

Вызывающий объект не может предоставлять атрибуты активации для объекта, который не наследуется от MarshalByRefObject.

-или-

securityAttributes не null. Если устаревшая политика CAS не включена, securityAttributes следует null

typeName не найден в assemblyName.

Этот экземпляр null.

Комментарии

Сведения о формате assemblyNameсм. в AssemblyName.

Попытка вызова CreateInstance в целевом домене приложения, который не является текущим доменом приложения, приведет к успешной загрузке сборки в целевом домене приложения. Так как Assembly не MarshalByRefObject, когда этот метод пытается вернуть Assembly для загруженной сборки в текущий домен приложения, среда CLR попытается загрузить сборку в текущий домен приложения, а загрузка может завершиться ошибкой. Сборка, загруженная в текущий домен приложения, может отличаться от сборки, загруженной сначала, если параметры пути для двух доменов приложений отличаются.

См. также раздел

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