System.Activator.CreateInstanceFrom 方法 (String, String)
上一篇:System.Activator.CreateInstance(Type,BindingFlags,Binder,Object[],CultureInfo) 方法
下一篇:System.Activator.CreateInstanceFrom(AppDomain,String,String) 方法
方法描述
使用命名的程序集文件和默认构造函数,创建名称已指定的类型的实例。
语法定义(C# System.Activator.CreateInstanceFrom 方法 (String, String) 的用法)
public static ObjectHandle CreateInstanceFrom( string assemblyFile, string typeName )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
assemblyFile | System-String | 包含某程序集的文件的名称,将在该程序集内查找名为 typeName 的类型。 |
typeName | System-String | 首选类型的名称。 |
返回值 | System.Runtime.Remoting.ObjectHandle | 要访问新创建的实例则必须解包的句柄。 |
提示和注释
使用 ObjectHandle.Unwrap 方法解包返回值。
有关所调用方法可以引发的其他异常的信息,请参见 Assembly.LoadFrom 和 CreateInstance 方法的“异常”节。
System.Activator.CreateInstanceFrom 方法 (String, String)例子
此代码示例摘自为 Activator 类提供的一个更大的示例。
// Create an instance of the SomeType class that is defined in this // assembly. System.Runtime.Remoting.ObjectHandle oh = Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, typeof(SomeType).FullName); // Call an instance method defined by the SomeType type using this object. SomeType st = (SomeType) oh.Unwrap(); st.DoSomething(5);
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | typeName 为 null。 |
MissingMethodException | 找不到匹配的公共构造函数。 |
TypeLoadException | 在 assemblyFile 中找不到 typename。 |
FileNotFoundException | 未找到 assemblyFile。 |
MethodAccessException | 调用方没有调用此构造函数的权限。 |
MemberAccessException | 无法创建抽象类的实例,或者用后期绑定机制调用了该成员。 |
TargetInvocationException | 通过反射调用的构造函数引发了异常。 |
SecurityException | 调用方确实具有所需的 FileIOPermission。 |
BadImageFormatException |
|
版本信息
.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 系统要求。
上一篇:System.Activator.CreateInstance(Type,BindingFlags,Binder,Object[],CultureInfo) 方法
下一篇:System.Activator.CreateInstanceFrom(AppDomain,String,String) 方法