Activator.CreateComInstanceFrom 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建指定名称的 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引发 。
有关可由调用的方法引发的其他异常的信息,请参阅 和 CreateInstance 方法的Assembly.LoadFrom异常部分。
注意
从 .NET Framework 2.0 开始,如果调用方已使用 标志授予ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess调用方,并且包含非公共类型的程序集的授权集仅限于调用方授权集或其子集,则此方法可用于创建非公共类型。 (请参阅 Reflection.) 安全注意事项若要使用此功能,应用程序应面向 .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
不是有效的程序集。
指定了不以“file://”开头的基本代码,且没有所需的 WebPermission
。
未找到匹配的构造函数。
调用方不能为非继承自 MarshalByRefObject 的对象提供激活属性。
注解
ObjectHandle.Unwrap使用 方法可解包返回值。
System.Runtime.InteropServices.ComVisibleAttribute必须显式或默认将值为 的属性true
应用于 COM 类型,以便CreateComInstanceFrom该方法可以创建该类型的实例;否则会TypeLoadException引发 。
有关可由调用的方法引发的其他异常的信息,请参阅 和 CreateInstance 方法的Assembly.LoadFrom异常部分。
注意
从 .NET Framework 2.0 开始,如果调用方已使用 标志授予ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess调用方,并且包含非公共类型的程序集的授权集仅限于调用方授权集或其子集,则此方法可用于创建非公共类型。 (请参阅 Reflection.) 安全注意事项若要使用此功能,应用程序应面向 .NET Framework 3.5 或更高版本。
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈