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.

Экземпляр нельзя создать с помощью COM.

–или–

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

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

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.

Экземпляр нельзя создать с помощью COM.

–или–

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

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

Невозможно создать экземпляр абстрактного класса.

–или–

Этот элемент был вызван с помощью механизма последней привязки.

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

Комментарии

ObjectHandle.Unwrap Используйте метод для распаковки возвращаемого значения.

Атрибут System.Runtime.InteropServices.ComVisibleAttribute со значением true должен применяться явным образом или по умолчанию к типу COM, чтобы CreateComInstanceFrom метод смог создать экземпляр этого типа. В противном случае TypeLoadException создается исключение.

Сведения о других исключениях, которые могут быть вызваны с помощью вызываемых методов, см. в разделе Assembly.LoadFrom "Исключения" и CreateInstance "Методы".

Note

Этот метод можно использовать для создания неопубликованных типов, если вызывающий объект был предоставлен ReflectionPermission с ReflectionPermissionFlag.RestrictedMemberAccess флагом, и если набор предоставления сборки, содержащей типы неопубликованных, ограничен набором предоставления вызывающего объекта или подмножеством. (См. вопросы Security Для отражения.) Чтобы использовать эту функцию, приложение должно использовать платформу .NET Framework 3.5 или более поздней версии.

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