Activator.CreateInstanceFrom 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用命名程序集文件和与指定参数最匹配的构造函数创建指定名称的类型实例。
重载
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
已过时.
使用指定的程序集文件和与指定参数最匹配的构造函数创建在指定远程域中指定名称的类型实例。 |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
已过时.
使用命名程序集文件和与指定参数最匹配的构造函数创建指定名称的类型实例。 |
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
使用指定的程序集文件和与指定参数最匹配的构造函数创建在指定远程域中指定名称的类型实例。 |
CreateInstanceFrom(String, String, Object[]) |
使用命名的程序集文件和无参数构造函数创建指定名称的类型实例。 |
CreateInstanceFrom(AppDomain, String, String) |
使用命名程序集文件和无参数构造函数创建在指定远程域中指定名称的类型实例。 |
CreateInstanceFrom(String, String) |
使用命名的程序集文件和无参数构造函数创建指定名称的类型实例。 |
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
使用命名程序集文件和与指定参数最匹配的构造函数创建指定名称的类型实例。 |
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
注意
Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
使用指定的程序集文件和与指定参数最匹配的构造函数创建在指定远程域中指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle
参数
- domain
- AppDomain
在其中创建名为 typeName
类型的远程域。
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
- ignoreCase
- Boolean
true
指定搜索 typeName
不区分大小写;false
指定搜索区分大小写。
- bindingAttr
- BindingFlags
影响搜索 typeName
构造函数的零个或多个位标志的组合。 如果 bindingAttr
为零,则会对公共构造函数执行区分大小写的搜索。
- binder
- Binder
使用 bindingAttr
和 args
查找和标识 typeName
构造函数的对象。 如果 binder
null
,则使用默认绑定器。
- args
- Object[]
一个参数数组,这些参数以数字、顺序和键入要调用的构造函数的参数。 如果 args
为空数组或 null
,则调用不带参数的构造函数(无参数构造函数)。
- culture
- CultureInfo
控制 args
强制 typeName
构造函数声明的正式类型的区域性特定信息。 如果 culture
null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
可以参与激活的一个或多个属性的数组。 这通常是一个数组,其中包含一个 UrlAttribute 对象,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是保留的旧技术,用于向后兼容,但不建议用于新开发。 分布式应用程序应改用 Windows Communication Foundation。
- securityAttributes
- Evidence
用于做出安全策略决策并授予代码权限的信息。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
- 属性
例外
domain
或 typeName
null
。
找不到匹配的构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方确实具有所需的 FileIOPermission。
activationAttributes
不是空数组,所创建的类型不派生自 MarshalByRefObject。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
注解
当主机需要在具有受限安全权限的应用程序域中执行代码时,请使用 CreateInstanceFrom。
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。
适用于
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
注意
Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
使用命名程序集文件和与指定参数最匹配的构造函数创建指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle
参数
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
- ignoreCase
- Boolean
true
指定搜索 typeName
不区分大小写;false
指定搜索区分大小写。
- bindingAttr
- BindingFlags
影响搜索 typeName
构造函数的零个或多个位标志的组合。 如果 bindingAttr
为零,则会对公共构造函数执行区分大小写的搜索。
- binder
- Binder
使用 bindingAttr
和 args
查找和标识 typeName
构造函数的对象。 如果 binder
null
,则使用默认绑定器。
- args
- Object[]
一个参数数组,这些参数以数字、顺序和键入要调用的构造函数的参数。 如果 args
为空数组或 null
,则调用不带参数的构造函数(无参数构造函数)。
- culture
- CultureInfo
控制 args
强制 typeName
构造函数声明的正式类型的区域性特定信息。 如果 culture
null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
可以参与激活的一个或多个属性的数组。 这通常是一个数组,其中包含一个 UrlAttribute 对象,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是保留的旧技术,用于向后兼容,但不建议用于新开发。 分布式应用程序应改用 Windows Communication Foundation。
- securityInfo
- Evidence
用于做出安全策略决策并授予代码权限的信息。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
- 属性
例外
typeName
null
。
找不到匹配的构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方没有所需的 FileIOPermission。
activationAttributes
不是空数组,所创建的类型不派生自 MarshalByRefObject。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
注解
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。
适用于
CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
使用指定的程序集文件和与指定参数最匹配的构造函数创建在指定远程域中指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle
参数
- domain
- AppDomain
在其中创建名为 typeName
类型的远程域。
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
- ignoreCase
- Boolean
true
指定搜索 typeName
不区分大小写;false
指定搜索区分大小写。
- bindingAttr
- BindingFlags
影响搜索 typeName
构造函数的零个或多个位标志的组合。 如果 bindingAttr
为零,则会对公共构造函数执行区分大小写的搜索。
- binder
- Binder
使用 bindingAttr
和 args
查找和标识 typeName
构造函数的对象。 如果 binder
null
,则使用默认绑定器。
- args
- Object[]
一个参数数组,这些参数以数字、顺序和键入要调用的构造函数的参数。 如果 args
为空数组或 null
,则调用不带参数的构造函数(无参数构造函数)。
- culture
- CultureInfo
控制 args
强制 typeName
构造函数声明的正式类型的区域性特定信息。 如果 culture
null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
可以参与激活的一个或多个属性的数组。 这通常是一个数组,其中包含一个 UrlAttribute 对象,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是保留的旧技术,用于向后兼容,但不建议用于新开发。 分布式应用程序应改用 Windows Communication Foundation。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
- 属性
例外
domain
或 typeName
null
。
找不到匹配的构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方确实具有所需的 FileIOPermission。
activationAttributes
不是空数组,所创建的类型不派生自 MarshalByRefObject。
注解
当主机需要在具有受限安全权限的应用程序域中执行代码时,请使用 CreateInstanceFrom。
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的异常部分。
适用于
CreateInstanceFrom(String, String, Object[])
- Source:
- Activator.cs
- Source:
- Activator.cs
- Source:
- Activator.cs
使用命名的程序集文件和无参数构造函数创建指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, object[] activationAttributes);
static member CreateInstanceFrom : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, activationAttributes As Object()) As ObjectHandle
参数
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
- activationAttributes
- Object[]
可以参与激活的一个或多个属性的数组。 这通常是一个数组,其中包含一个 UrlAttribute 对象,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是保留的旧技术,用于向后兼容,但不建议用于新开发。 分布式应用程序应改用 Windows Communication Foundation。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
例外
typeName
null
。
找不到匹配的公共构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
activationAttributes
不是空数组,所创建的类型不派生自 MarshalByRefObject。
调用方确实具有所需的 FileIOPermission。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
注解
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。
适用于
CreateInstanceFrom(AppDomain, String, String)
使用命名程序集文件和无参数构造函数创建在指定远程域中指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String) As ObjectHandle
参数
- domain
- AppDomain
在其中创建名为 typeName
类型的远程域。
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
- 属性
例外
domain
或 typeName
null
。
找不到匹配的公共构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方确实具有所需的 FileIOPermission。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
注解
当主机需要在具有受限安全权限的应用程序域中执行代码时,请使用 CreateInstanceFrom。
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。
适用于
CreateInstanceFrom(String, String)
- Source:
- Activator.cs
- Source:
- Activator.cs
- Source:
- Activator.cs
使用命名的程序集文件和无参数构造函数创建指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
static member CreateInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String) As ObjectHandle
参数
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
例外
typeName
null
。
找不到匹配的公共构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方确实具有所需的 FileIOPermission。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
示例
下面的代码示例演示如何调用 CreateInstanceFrom 方法。 此代码示例是为 Activator 类提供的大型示例的一部分。
// Create an instance of the SomeType class that is defined in this
// assembly.
System::Runtime::Remoting::ObjectHandle^ oh =
Activator::CreateInstanceFrom(Assembly::GetEntryAssembly()->CodeBase,
SomeType::typeid->FullName);
// Call an instance method defined by the SomeType type using this object.
SomeType^ st = (SomeType^) oh->Unwrap();
st->DoSomething(5);
// 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);
// Create an instance of the SomeType class that is defined in this assembly.
let oh =
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().Location, typeof<SomeType>.FullName)
// Call an instance method defined by the SomeType type using this object.
let st = oh.Unwrap() :?> SomeType
st.DoSomething 5
' Create an instance of the SomeType class that is defined in this assembly.
Dim oh As System.Runtime.Remoting.ObjectHandle = _
Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
GetType(SomeType).FullName)
' Call an instance method defined by the SomeType type using this object.
Dim st As SomeType = CType(oh.Unwrap(), SomeType)
st.DoSomething(5)
注解
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。
适用于
CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Source:
- Activator.cs
- Source:
- Activator.cs
- Source:
- Activator.cs
使用命名程序集文件和与指定参数最匹配的构造函数创建指定名称的类型实例。
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle
参数
- assemblyFile
- String
一个文件的名称,其中包含要在其中寻找名为 typeName
类型的程序集。
- typeName
- String
要创建其实例的类型的名称。
- ignoreCase
- Boolean
true
指定搜索 typeName
不区分大小写;false
指定搜索区分大小写。
- bindingAttr
- BindingFlags
影响搜索 typeName
构造函数的零个或多个位标志的组合。 如果 bindingAttr
为零,则会对公共构造函数执行区分大小写的搜索。
- binder
- Binder
使用 bindingAttr
和 args
查找和标识 typeName
构造函数的对象。 如果 binder
null
,则使用默认绑定器。
- args
- Object[]
一个参数数组,这些参数以数字、顺序和键入要调用的构造函数的参数。 如果 args
为空数组或 null
,则调用不带参数的构造函数(无参数构造函数)。
- culture
- CultureInfo
控制 args
强制 typeName
构造函数声明的正式类型的区域性特定信息。 如果 culture
null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
可以参与激活的一个或多个属性的数组。 这通常是一个数组,其中包含一个 UrlAttribute 对象,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是保留的旧技术,用于向后兼容,但不建议用于新开发。 分布式应用程序应改用 Windows Communication Foundation。
返回
必须取消包装才能访问新创建的对象或 Nullable<T> 实例 null
的句柄。
例外
typeName
null
。
找不到匹配的构造函数。
assemblyFile
中找不到 typeName
。
找不到 assemblyFile
。
调用方无权调用此构造函数。
无法创建抽象类的实例,或者此成员是使用后期绑定机制调用的。
通过反射调用的构造函数引发异常。
调用方没有所需的 FileIOPermission。
activationAttributes
不是空数组,所创建的类型不派生自 MarshalByRefObject。
assemblyFile
不是有效的程序集。
-或-
公共语言运行时 (CLR) 版本 2.0 或更高版本当前已加载,并且已针对低于当前加载版本的 CLR 编译 assemblyFile
。 请注意,.NET Framework 版本 2.0、3.0 和 3.5 均使用 CLR 版本 2.0。
注解
使用 ObjectHandle.Unwrap 方法解包返回值。
有关可通过调用的方法引发的其他异常的信息,请参阅 Assembly.LoadFrom 和 CreateInstance 方法的 Exceptions 部分。