Activator.CreateComInstanceFrom Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает экземпляр COM-объекта, имя которого указано.
Перегрузки
| Имя | Описание |
|---|---|
| CreateComInstanceFrom(String, String) |
Создает экземпляр COM-объекта, имя которого указано с помощью именованного файла сборки и конструктора без параметров. |
| CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Создает экземпляр COM-объекта, имя которого указано с помощью именованного файла сборки и конструктора без параметров. |
CreateComInstanceFrom(String, String)
Создает экземпляр COM-объекта, имя которого указано с помощью именованного файла сборки и конструктора без параметров.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom(string assemblyName, string typeName);
static member CreateComInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String) As ObjectHandle
Параметры
- assemblyName
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа typeName .
- typeName
- String
Имя типа для создания экземпляра.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null для Nullable<T> экземпляров.
Исключения
typeName или assemblyName есть null.
Не найден соответствующий конструктор.
assemblyName не найден или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.
Не удается создать экземпляр абстрактного класса.
–или–
Этот элемент был вызван с помощью механизма последней привязки.
Вызывающий объект не может предоставлять атрибуты активации для объекта, от который не наследуется MarshalByRefObject.
assemblyName — пустая строка ("").
Комментарии
ObjectHandle.Unwrap Используйте метод для распаковки возвращаемого значения.
Атрибут System.Runtime.InteropServices.ComVisibleAttribute со значением true должен применяться явным образом или по умолчанию к типу COM, чтобы CreateComInstanceFrom метод смог создать экземпляр этого типа. В противном случае TypeLoadException создается исключение.
Сведения о других исключениях, которые могут быть вызваны с помощью вызываемых методов, см. в разделе Assembly.LoadFrom "Исключения" и CreateInstance "Методы".
Note
Этот метод можно использовать для создания неопубликованных типов, если вызывающий объект был предоставлен ReflectionPermission с ReflectionPermissionFlag.RestrictedMemberAccess флагом, и если набор предоставления сборки, содержащей типы неопубликованных, ограничен набором предоставления вызывающего объекта или подмножеством. (См. вопросы Security Для отражения.) Чтобы использовать эту функцию, приложение должно использовать платформу .NET Framework 3.5 или более поздней версии.
Применяется к
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
Создает экземпляр COM-объекта, имя которого указано с помощью именованного файла сборки и конструктора без параметров.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom(string assemblyName, string typeName, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member CreateComInstanceFrom : string * string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As ObjectHandle
Параметры
- assemblyName
- String
Имя файла, содержащего сборку, в которой выполняется поиск типа typeName .
- typeName
- String
Имя типа для создания экземпляра.
- hashValue
- Byte[]
Значение вычисляемого хэш-кода.
- hashAlgorithm
- AssemblyHashAlgorithm
Хэш-алгоритм, используемый для хэширования файлов и создания строгого имени.
Возвращаемое значение
Дескриптор, который должен быть раскрыт для доступа к только что созданному объекту или null для Nullable<T> экземпляров.
Исключения
typeName или assemblyName есть null.
assemblyName — пустая строка ("").
Сборка или модуль была загружена дважды с двумя разными доказательствами.
–или–
assemblyName длиннее, чем заданная системой максимальная длина.
assemblyName не найден или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.
assemblyName найден, но не может быть загружен.
assemblyName не является допустимой сборкой.
База кода, которая не начинается с "file://", была указана без обязательного WebPermission.
Не найден соответствующий конструктор.
Невозможно создать экземпляр абстрактного класса.
–или–
Этот элемент был вызван с помощью механизма последней привязки.
Вызывающий объект не может предоставлять атрибуты активации для объекта, от который не наследуется MarshalByRefObject.
Комментарии
ObjectHandle.Unwrap Используйте метод для распаковки возвращаемого значения.
Атрибут System.Runtime.InteropServices.ComVisibleAttribute со значением true должен применяться явным образом или по умолчанию к типу COM, чтобы CreateComInstanceFrom метод смог создать экземпляр этого типа. В противном случае TypeLoadException создается исключение.
Сведения о других исключениях, которые могут быть вызваны с помощью вызываемых методов, см. в разделе Assembly.LoadFrom "Исключения" и CreateInstance "Методы".
Note
Этот метод можно использовать для создания неопубликованных типов, если вызывающий объект был предоставлен ReflectionPermission с ReflectionPermissionFlag.RestrictedMemberAccess флагом, и если набор предоставления сборки, содержащей типы неопубликованных, ограничен набором предоставления вызывающего объекта или подмножеством. (См. вопросы Security Для отражения.) Чтобы использовать эту функцию, приложение должно использовать платформу .NET Framework 3.5 или более поздней версии.