Activator.CreateComInstanceFrom Метод

Определение

Создает экземпляр COM-объекта, для которого задано имя.Creates an instance of the COM object whose name is specified.

Перегрузки

CreateComInstanceFrom(String, String)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор без параметров.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор без параметров.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

CreateComInstanceFrom(String, String)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор без параметров.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.The name of a file that contains an assembly where the type named typeName is sought.

typeName
String

Имя предпочтительного типа.The name of the preferred type.

Возвраты

Дескриптор, оболочку которого нужно удалить, чтобы получить доступ к вновь созданному экземпляру.A handle that must be unwrapped to access the newly created instance.

Исключения

Значение параметра typeName или assemblyNamenull.typeName or assemblyName is null.

Невозможно создать экземпляр с помощью модели COM.An instance cannot be created through COM.

- или --or- typename не найден в assemblyName.typename was not found in assemblyName.

Соответствующий конструктор не найден.No matching constructor was found.

Файл assemblyName не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyName is not found, or the module you are trying to load does not specify a file name extension.

Не удалось создать экземпляр абстрактного класса.Cannot create an instance of an abstract class.

- или --or-

Этот элемент был вызван при помощи механизма позднего связывания.This member was invoked with a late-binding mechanism.

Вызывающий объект не может предоставить атрибуты активации для объекта, который не является производным от MarshalByRefObject.The caller cannot provide activation attributes for an object that does not inherit from MarshalByRefObject.

assemblyName является пустой строкой ("").assemblyName is the empty string ("").

Комментарии

Для распаковки возвращаемого значения используйте метод ObjectHandle.Unwrap.Use the ObjectHandle.Unwrap method to unwrap the return value.

Атрибут System.Runtime.InteropServices.ComVisibleAttribute со значением true должен применяться явно или по умолчанию к типу COM, поэтому метод CreateComInstanceFrom может создать экземпляр этого типа. в противном случае выдается TypeLoadException.A System.Runtime.InteropServices.ComVisibleAttribute attribute with a value of true must be applied either explicitly or by default to the COM type so the CreateComInstanceFrom method can create an instance of that type; otherwise, TypeLoadException is thrown.

Сведения о других исключениях, которые могут вызываться вызванными методами, см. в разделе "исключения" в методах Assembly.LoadFrom и CreateInstance.For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly.LoadFrom and CreateInstance methods.

Примечание

Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, этот метод можно использовать для создания неоткрытых типов, если вызывающий объект предоставил ReflectionPermission с флагом ReflectionPermissionFlag.RestrictedMemberAccess и если набор разрешений сборки, содержащей неоткрытые типы, ограничен набором предоставления вызывающего объекта или подмножеством реоф.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (См. раздел вопросы безопасности для отражения.)(See Security Considerations for Reflection.)

Для применения этих функциональных возможностей приложение должно использовать .NET Framework 3,5.NET Framework 3.5 или более поздние версии.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Безопасность

ReflectionPermission
для доступа к закрытым типам независимо от набора их разрешений.for accessing nonpublic types regardless of their grant set. Связанное перечисление: MemberAccessAssociated enumeration: MemberAccess

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор без параметров.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.The name of a file that contains an assembly where the type named typeName is sought.

typeName
String

Имя предпочтительного типа.The name of the preferred type.

hashValue
Byte[]

Значение вычисленного хэш-кода.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Хэш-алгоритм, используемый для хэширования файлов и создания строгого имени.The hash algorithm used for hashing files and generating the strong name.

Возвраты

Дескриптор, оболочку которого нужно удалить, чтобы получить доступ к вновь созданному экземпляру.A handle that must be unwrapped to access the newly created instance.

Исключения

Значение параметра typeName или assemblyNamenull.typeName or assemblyName is null.

assemblyName является пустой строкой ("").assemblyName is the empty string ("").

Сборка или модуль был загружен дважды с двумя разными свидетельствами.An assembly or module was loaded twice with two different evidences.

- или --or- assemblyName превышает максимальную длину, определенную системой.assemblyName is longer than the system-defined maximum length.

Файл assemblyName не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyName is not found, or the module you are trying to load does not specify a file name extension.

Тип assemblyName найден, но не может быть загружен.assemblyName is found but cannot be loaded.

Тип assemblyName не является допустимой сборкой.assemblyName is not a valid assembly.

База кода, которая не начинается с "file://", была указана без требуемого разрешения WebPermission.A code base that does not start with "file://" was specified without the required WebPermission.

Невозможно создать экземпляр с помощью COM-модели.An instance cannot be created through COM.

- или --or- typename не найден в assemblyName.typename was not found in assemblyName.

Соответствующий конструктор не найден.No matching constructor was found.

Не удается создать экземпляр абстрактного класса.An instance of an abstract class cannot be created.

- или --or-

Этот элемент был вызван при помощи механизма позднего связывания.This member was invoked with a late-binding mechanism.

Вызывающий объект не может предоставить атрибуты активации для объекта, который не является производным от MarshalByRefObject.The caller cannot provide activation attributes for an object that does not inherit from MarshalByRefObject.

Комментарии

Для распаковки возвращаемого значения используйте метод ObjectHandle.Unwrap.Use the ObjectHandle.Unwrap method to unwrap the return value.

Атрибут System.Runtime.InteropServices.ComVisibleAttribute со значением true должен применяться явно или по умолчанию к типу COM, поэтому метод CreateComInstanceFrom может создать экземпляр этого типа. в противном случае выдается TypeLoadException.A System.Runtime.InteropServices.ComVisibleAttribute attribute with a value of true must be applied either explicitly or by default to the COM type so the CreateComInstanceFrom method can create an instance of that type; otherwise, TypeLoadException is thrown.

Сведения о других исключениях, которые могут вызываться вызванными методами, см. в разделе "исключения" в методах Assembly.LoadFrom и CreateInstance.For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly.LoadFrom and CreateInstance methods.

Примечание

Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, этот метод можно использовать для создания неоткрытых типов, если вызывающий объект предоставил ReflectionPermission с флагом ReflectionPermissionFlag.RestrictedMemberAccess и если набор разрешений сборки, содержащей неоткрытые типы, ограничен набором предоставления вызывающего объекта или подмножеством реоф.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (См. раздел вопросы безопасности для отражения.)(See Security Considerations for Reflection.)

Для применения этих функциональных возможностей приложение должно использовать .NET Framework 3,5.NET Framework 3.5 или более поздние версии.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Безопасность

ReflectionPermission
для доступа к закрытым типам независимо от набора их разрешений.for accessing nonpublic types regardless of their grant set. Связанное перечисление: MemberAccessAssociated enumeration: MemberAccess

FileIOPermission
для чтения URI, который начинается с "file://".for reading a URI that begins with "file://". Связанное перечисление: ReadAssociated enumeration: Read

WebPermission
для чтения URI, который не начинается с "file://".for reading a URI that does not begin with "file://".

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