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, TypeLoadException чтобы CreateComInstanceFrom метод смог создать экземпляр этого типа; в противном случае возникает исключение .

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

Примечание

Начиная с платформа .NET Framework 2.0 этот метод можно использовать для создания непубличных типов, если вызывающему объекту предоставлен ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess флаг и если набор разрешений сборки, содержащей непублишные типы, ограничен набором разрешений вызывающего объекта или его подмножеством. (См. раздел Вопросы безопасности для отражения.) Чтобы использовать эту функцию, приложение должно быть предназначено для платформа .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, TypeLoadException чтобы CreateComInstanceFrom метод смог создать экземпляр этого типа; в противном случае возникает исключение .

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

Примечание

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

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