Activator.CreateInstanceFrom Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает экземпляр типа, имя которого указано, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам.
Перегрузки
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Устаревшие..
Создает экземпляр типа, имя которого указано в указанном удаленном домене, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам. |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Устаревшие..
Создает экземпляр типа, имя которого указано, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам. |
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Создает экземпляр типа, имя которого указано в указанном удаленном домене, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам. |
CreateInstanceFrom(String, String, Object[]) |
Создает экземпляр типа, имя которого указано с помощью именованного файла сборки и конструктора без параметров. |
CreateInstanceFrom(AppDomain, String, String) |
Создает экземпляр типа, имя которого указано в указанном удаленном домене, с помощью именованного файла сборки и конструктора без параметров. |
CreateInstanceFrom(String, String) |
Создает экземпляр типа, имя которого указано с помощью именованного файла сборки и конструктора без параметров. |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Создает экземпляр типа, имя которого указано, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам. |
CreateInstanceFrom(AppDomain, 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Создает экземпляр типа, имя которого указано в указанном удаленном домене, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, 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 static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, 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);
static member CreateInstanceFrom : AppDomain * 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile 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
Параметры
- domain
- AppDomain
Удаленный домен, в котором создается тип с именем typeName
.
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
- ignoreCase
- Boolean
true
, чтобы указать, что поиск typeName
не учитывает регистр; false
, чтобы указать, что поиск учитывает регистр.
- bindingAttr
- BindingFlags
Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName
. Если bindingAttr
равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.
- binder
- Binder
Объект, использующий bindingAttr
и args
для поиска и идентификации конструктора typeName
. Если binder
null
, используется привязка по умолчанию.
- args
- Object[]
Массив аргументов, соответствующих числу, порядку и типу параметров вызываемого конструктора. Если args
является пустым массивом или null
, конструктор, который не принимает параметров (конструктор без параметров) вызывается.
- culture
- CultureInfo
Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args
к формальным типам, объявленным для конструктора typeName
. Если culture
null
, используется CultureInfo для текущего потока.
- activationAttributes
- Object[]
Массив одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.
- securityAttributes
- Evidence
Сведения, используемые для принятия решений политики безопасности и предоставления разрешений на код.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
- Атрибуты
Исключения
domain
или typeName
null
.
Не найден соответствующий конструктор.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект имеет необходимый FileIOPermission.
activationAttributes
не является пустым массивом, а созданный тип не является производным от MarshalByRefObject.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Комментарии
Используйте CreateInstanceFrom, если узел должен выполнять код в домене приложения с ограниченными разрешениями безопасности.
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.
Применяется к
CreateInstanceFrom(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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Создает экземпляр типа, имя которого указано, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, 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 ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstanceFrom : 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 CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle
Параметры
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
- ignoreCase
- Boolean
true
, чтобы указать, что поиск typeName
не учитывает регистр; false
, чтобы указать, что поиск учитывает регистр.
- bindingAttr
- BindingFlags
Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName
. Если bindingAttr
равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.
- binder
- Binder
Объект, использующий bindingAttr
и args
для поиска и идентификации конструктора typeName
. Если binder
null
, используется привязка по умолчанию.
- args
- Object[]
Массив аргументов, соответствующих числу, порядку и типу параметров вызываемого конструктора. Если args
является пустым массивом или null
, конструктор, который не принимает параметров (конструктор без параметров) вызывается.
- culture
- CultureInfo
Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args
к формальным типам, объявленным для конструктора typeName
. Если culture
null
, используется CultureInfo для текущего потока.
- activationAttributes
- Object[]
Массив одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.
- securityInfo
- Evidence
Сведения, используемые для принятия решений политики безопасности и предоставления разрешений на код.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
- Атрибуты
Исключения
typeName
null
.
Не найден соответствующий конструктор.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект не имеет необходимых FileIOPermission.
activationAttributes
не является пустым массивом, а созданный тип не является производным от MarshalByRefObject.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Комментарии
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.
Применяется к
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
Создает экземпляр типа, имя которого указано в указанном удаленном домене, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, 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.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile 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
Параметры
- domain
- AppDomain
Удаленный домен, в котором создается тип с именем typeName
.
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
- ignoreCase
- Boolean
true
, чтобы указать, что поиск typeName
не учитывает регистр; false
, чтобы указать, что поиск учитывает регистр.
- bindingAttr
- BindingFlags
Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName
. Если bindingAttr
равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.
- binder
- Binder
Объект, использующий bindingAttr
и args
для поиска и идентификации конструктора typeName
. Если binder
null
, используется привязка по умолчанию.
- args
- Object[]
Массив аргументов, соответствующих числу, порядку и типу параметров вызываемого конструктора. Если args
является пустым массивом или null
, конструктор, который не принимает параметров (конструктор без параметров) вызывается.
- culture
- CultureInfo
Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args
к формальным типам, объявленным для конструктора typeName
. Если culture
null
, используется CultureInfo для текущего потока.
- activationAttributes
- Object[]
Массив одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
- Атрибуты
Исключения
domain
или typeName
null
.
Не найден соответствующий конструктор.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект имеет необходимый FileIOPermission.
activationAttributes
не является пустым массивом, а созданный тип не является производным от MarshalByRefObject.
assemblyFile
не является допустимой сборкой.
-или-
assemblyFile
был скомпилирован для версии среды CLR, которая более поздней версии, загруженной в данный момент.
Комментарии
Используйте CreateInstanceFrom, если узел должен выполнять код в домене приложения с ограниченными разрешениями безопасности.
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделах исключений Assembly.LoadFrom и CreateInstance методов.
Применяется к
CreateInstanceFrom(String, String, Object[])
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
Создает экземпляр типа, имя которого указано с помощью именованного файла сборки и конструктора без параметров.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, object[] activationAttributes);
static member CreateInstanceFrom : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, activationAttributes As Object()) As ObjectHandle
Параметры
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
- activationAttributes
- Object[]
Массив одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
Исключения
typeName
null
.
Не найдено соответствующего общедоступного конструктора.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
activationAttributes
не является пустым массивом, а созданный тип не является производным от MarshalByRefObject.
Вызывающий объект имеет необходимый FileIOPermission.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Комментарии
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.
Применяется к
CreateInstanceFrom(AppDomain, String, String)
Создает экземпляр типа, имя которого указано в указанном удаленном домене, с помощью именованного файла сборки и конструктора без параметров.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String) As ObjectHandle
Параметры
- domain
- AppDomain
Удаленный домен, в котором создается тип с именем typeName
.
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
- Атрибуты
Исключения
domain
или typeName
null
.
Не найдено соответствующего общедоступного конструктора.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект имеет необходимый FileIOPermission.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Комментарии
Используйте CreateInstanceFrom, если узел должен выполнять код в домене приложения с ограниченными разрешениями безопасности.
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.
Применяется к
CreateInstanceFrom(String, String)
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
Создает экземпляр типа, имя которого указано с помощью именованного файла сборки и конструктора без параметров.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
static member CreateInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String) As ObjectHandle
Параметры
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
Исключения
typeName
null
.
Не найдено соответствующего общедоступного конструктора.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект имеет необходимый FileIOPermission.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Примеры
В следующем примере кода показано, как вызвать метод CreateInstanceFrom. Этот пример кода является частью более крупного примера, предоставленного для класса Activator.
// Create an instance of the SomeType class that is defined in this
// assembly.
System::Runtime::Remoting::ObjectHandle^ oh =
Activator::CreateInstanceFrom(Assembly::GetEntryAssembly()->CodeBase,
SomeType::typeid->FullName);
// Call an instance method defined by the SomeType type using this object.
SomeType^ st = (SomeType^) oh->Unwrap();
st->DoSomething(5);
// Create an instance of the SomeType class that is defined in this
// assembly.
System.Runtime.Remoting.ObjectHandle oh =
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase,
typeof(SomeType).FullName);
// Call an instance method defined by the SomeType type using this object.
SomeType st = (SomeType) oh.Unwrap();
st.DoSomething(5);
// Create an instance of the SomeType class that is defined in this assembly.
let oh =
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().Location, typeof<SomeType>.FullName)
// Call an instance method defined by the SomeType type using this object.
let st = oh.Unwrap() :?> SomeType
st.DoSomething 5
' Create an instance of the SomeType class that is defined in this assembly.
Dim oh As System.Runtime.Remoting.ObjectHandle = _
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
GetType(SomeType).FullName)
' Call an instance method defined by the SomeType type using this object.
Dim st As SomeType = CType(oh.Unwrap(), SomeType)
st.DoSomething(5)
Комментарии
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.
Применяется к
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
- Исходный код:
- Activator.cs
Создает экземпляр типа, имя которого указано, используя именованный файл сборки и конструктор, который лучше всего соответствует указанным параметрам.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, 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 static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile 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
Параметры
- assemblyFile
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа с именем typeName
.
- typeName
- String
Имя типа для создания экземпляра.
- ignoreCase
- Boolean
true
, чтобы указать, что поиск typeName
не учитывает регистр; false
, чтобы указать, что поиск учитывает регистр.
- bindingAttr
- BindingFlags
Сочетание нулевых или более битовых флагов, влияющих на поиск конструктора typeName
. Если bindingAttr
равно нулю, выполняется поиск с учетом регистра для общедоступных конструкторов.
- binder
- Binder
Объект, использующий bindingAttr
и args
для поиска и идентификации конструктора typeName
. Если binder
null
, используется привязка по умолчанию.
- args
- Object[]
Массив аргументов, соответствующих числу, порядку и типу параметров вызываемого конструктора. Если args
является пустым массивом или null
, конструктор, который не принимает параметров (конструктор без параметров) вызывается.
- culture
- CultureInfo
Сведения, относящиеся к языку и региональным параметрам, которые управляют приведением args
к формальным типам, объявленным для конструктора typeName
. Если culture
null
, используется CultureInfo для текущего потока.
- activationAttributes
- Object[]
Массив одного или нескольких атрибутов, которые могут участвовать в активации. Обычно это массив, содержащий один объект UrlAttribute, указывающий URL-адрес, необходимый для активации удаленного объекта.
Этот параметр связан с объектами, активированными клиентом. Активация клиента — это устаревшая технология, которая сохраняется для обратной совместимости, но не рекомендуется для новой разработки. Распределенные приложения должны использовать Windows Communication Foundation.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null
для Nullable<T> экземпляров.
Исключения
typeName
null
.
Не найден соответствующий конструктор.
typeName
не найден в assemblyFile
.
assemblyFile
не найден.
Вызывающий объект не имеет разрешения на вызов этого конструктора.
Не удается создать экземпляр абстрактного класса или этот член был вызван с помощью механизма последней привязки.
Конструктор, который был вызван с помощью отражения, вызвал исключение.
Вызывающий объект не имеет необходимых FileIOPermission.
activationAttributes
не является пустым массивом, а созданный тип не является производным от MarshalByRefObject.
assemblyFile
не является допустимой сборкой.
-или-
Среда CLR версии 2.0 или более поздняя в настоящее время загружается и assemblyFile
была скомпилирована для версии среды CLR, которая позже, чем текущая загруженная версия. Обратите внимание, что платформы .NET Framework версии 2.0, 3.0 и 3.5 используют среду CLR версии 2.0.
Комментарии
Используйте метод ObjectHandle.Unwrap для распаковки возвращаемого значения.
Сведения о других исключениях, которые могут быть вызваны методами, см. в разделе "Исключения" Assembly.LoadFrom и методов CreateInstance.