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 или более поздней версии.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по