System.AppDomain.CreateInstance 方法 (String, String, Object[])
方法描述
创建在指定程序集中定义的指定类型的新实例。 形参指定激活特性数组。
语法定义(C# System.AppDomain.CreateInstance 方法 (String, String, Object[]) 的用法)
public ObjectHandle CreateInstance( string assemblyName, string typeName, Object[] activationAttributes )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
assemblyName | System-String | 程序集的显示名称。请参见 Assembly.FullName。 |
typeName | System-String | Type.FullName 属性返回的所请求类型的完全限定名称,包含命名空间而不是程序集。 |
activationAttributes | System-Object[] | 包含一个或多个可以参与激活的特性的数组。通常是包含单个 UrlAttribute 对象的数组。UrlAttribute 指定激活远程对象所需的 URL。 |
返回值 | System.Runtime.Remoting.ObjectHandle | 一个对象,该对象是 typeName 指定的新实例的包装。 需要打开包装才能访问真实对象。 |
提示和注释
此方法调用 typeName 的默认构造函数。
有关 assemblyName 的格式,请参见 AssemblyName。
activationAttributes 参数与客户端激活对象相关;请参见Client Activation。
如果尝试在并非当前应用程序域的目标应用程序域上调用 CreateInstance,则将导致在目标应用程序域中成功加载程序集。 因为 Assembly 不是 MarshalByRefObject,所以当此方法尝试将所加载程序集的 Assembly 返回到当前应用程序域时,公共语言运行时会尝试将该程序集加载到当前应用程序域中,并且加载可能会失败。 如果两个应用程序域的路径设置不同,那么加载到当前应用程序域中的程序集可能与第一个加载的程序集不同。
System.AppDomain.CreateInstance 方法 (String, String, Object[])例子
异常
异常 | 异常描述 |
---|---|
AppDomainUnloadedException | 尝试对已卸载的应用程序域进行操作。 |
ArgumentNullException | assemblyName 或 typeName 为 null。 |
BadImageFormatException |
|
FileLoadException | 用两个不同的证据将一个程序集或模块加载了两次。 |
FileNotFoundException | 未找到 assemblyName。 |
MethodAccessException | 调用方没有调用此构造函数的权限。 |
MissingMethodException | 找不到匹配的公共构造函数。 |
NotSupportedException | 调用方无法为不是从 MarshalByRefObject 继承的对象提供激活特性。 |
TypeLoadException | 在 assemblyName 中找不到 typename。 |
NullReferenceException | 此实例为 null。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。