AppDomain.CreateInstance 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建在指定程序集中定义的指定类型的新实例。
重载
CreateInstance(String, String) |
创建在指定程序集中定义的指定类型的新实例。 |
CreateInstance(String, String, Object[]) |
创建在指定程序集中定义的指定类型的新实例。 形参指定激活特性数组。 |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
创建在指定程序集中定义的指定类型的新实例。 形参指定联编程序、绑定标志、构造函数实参、用于解释实参的特定于区域性的信息,以及可选激活特性。 |
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
已过时.
创建在指定程序集中定义的指定类型的新实例。 参数指定联编程序、绑定标志、构造函数自变量、特定于区域性的信息,这些信息用于解释自变量、激活特性和授权,以创建类型。 |
CreateInstance(String, String)
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
创建在指定程序集中定义的指定类型的新实例。
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle
参数
返回
一个对象,该对象是 typeName
指定的新实例的包装。 返回值需要打开包装才能访问真实对象。
实现
例外
在卸载的应用程序域上尝试该操作。
assemblyName
或 typeName
为 null
。
assemblyName
对于当前加载的运行时,不是有效的程序集。
一个程序集或模块用两个不同的证据加载了两次。
未找到 assemblyName
。
调用方没有权限调用此构造函数。
未找到匹配的公共构造函数。
在 assemblyName
中未找到 typename
。
此示例为 null
。
注解
此方法调用 的 typeName
无参数构造函数。
有关 的格式assemblyName
,请参阅 AssemblyName 。
尝试对不是当前应用程序域的目标应用程序域调用 CreateInstance 将导致在目标应用程序域中成功加载程序集。 Assembly由于 不是 MarshalByRefObject,因此,当此方法尝试将加载的程序集的 返回到Assembly当前应用程序域时,公共语言运行时将尝试将程序集加载到当前应用程序域,并且加载可能会失败。 如果两个应用程序域的路径设置不同,则加载到当前应用程序域中的程序集可能与首先加载的程序集不同。
另请参阅
适用于
CreateInstance(String, String, Object[])
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
创建在指定程序集中定义的指定类型的新实例。 形参指定激活特性数组。
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle
参数
- activationAttributes
- Object[]
包含一个或多个可以参与激活的特性的数组。 通常,为包含单个 UrlAttribute 对象的数组,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。客户端激活是一项传统技术,保留用于向后兼容,但不建议用于新的开发。 应改用 Windows Communication Foundation 来开发分布式应用程序。
返回
一个对象,该对象是 typeName
指定的新实例的包装。 返回值需要打开包装才能访问真实对象。
实现
例外
在卸载的应用程序域上尝试该操作。
assemblyName
或 typeName
为 null
。
assemblyName
对于当前加载的运行时,不是有效的程序集。
一个程序集或模块用两个不同的证据加载了两次。
未找到 assemblyName
。
调用方没有权限调用此构造函数。
未找到匹配的公共构造函数。
调用方不能为非继承自 MarshalByRefObject 的对象提供激活属性。
在 assemblyName
中未找到 typename
。
此示例为 null
。
注解
此方法调用 的 typeName
无参数构造函数。
有关 的格式assemblyName
,请参阅 AssemblyName 。
尝试对不是当前应用程序域的目标应用程序域调用 CreateInstance 将导致在目标应用程序域中成功加载程序集。 Assembly由于 不是 MarshalByRefObject,因此,当此方法尝试将加载的程序集的 返回到Assembly当前应用程序域时,公共语言运行时将尝试将程序集加载到当前应用程序域,并且加载可能会失败。 如果两个应用程序域的路径设置不同,则加载到当前应用程序域中的程序集可能与首先加载的程序集不同。
另请参阅
适用于
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
- Source:
- AppDomain.cs
创建在指定程序集中定义的指定类型的新实例。 形参指定联编程序、绑定标志、构造函数实参、用于解释实参的特定于区域性的信息,以及可选激活特性。
public:
System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, 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 System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName 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
参数
- ignoreCase
- Boolean
一个布尔值,指示是否执行区分大小写的搜索。
- bindingAttr
- BindingFlags
影响 typeName
构造函数搜索的零个或多个位标志的组合。 如果 bindingAttr
为零,则对公共构造函数进行区分大小写的搜索。
- binder
- Binder
一个对象,它使用反射启用绑定、参数类型的强制、成员的调用和 MemberInfo 对象的检索。 如果 binder
为 null,则使用默认联编程序。
- args
- Object[]
要传递给构造函数的实参。 此实参数组必须在数量、顺序和类型方面与要调用的构造函数的形参匹配。 如果无参数构造函数是首选,则 args
必须为空数组或 NULL。
- culture
- CultureInfo
区域性特定的信息,这些信息控制将 args
强制转换为 typeName
构造函数所声明的正式类型。 如果 culture
为 null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
包含一个或多个可以参与激活的特性的数组。 通常,为包含单个 UrlAttribute 对象的数组,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。 客户端激活是一项传统技术,保留用于向后兼容,但不建议用于新的开发。 应改用 Windows Communication Foundation 来开发分布式应用程序。
返回
一个对象,该对象是 typeName
指定的新实例的包装。 返回值需要打开包装才能访问真实对象。
例外
在卸载的应用程序域上尝试该操作。
assemblyName
或 typeName
为 null
。
assemblyName
对于当前加载的运行时,不是有效的程序集。
一个程序集或模块用两个不同的证据加载了两次。
未找到 assemblyName
。
调用方没有权限调用此构造函数。
未找到匹配的构造函数。
调用方不能为非继承自 MarshalByRefObject 的对象提供激活属性。
在 assemblyName
中未找到 typename
。
此示例为 null
。
注解
有关 的格式assemblyName
,请参阅 AssemblyName 。
尝试对不是当前应用程序域的目标应用程序域调用 CreateInstance 将导致在目标应用程序域中成功加载程序集。 Assembly由于 不是 MarshalByRefObject,因此,当此方法尝试将加载的程序集的 返回到Assembly当前应用程序域时,公共语言运行时将尝试将程序集加载到当前应用程序域,并且加载可能会失败。 如果两个应用程序域的路径设置不同,则加载到当前应用程序域中的程序集可能与首先加载的程序集不同。
另请参阅
适用于
CreateInstance(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 CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
创建在指定程序集中定义的指定类型的新实例。 参数指定联编程序、绑定标志、构造函数自变量、特定于区域性的信息,这些信息用于解释自变量、激活特性和授权,以创建类型。
public:
virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, 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 System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, 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 CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, 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);
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : 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 CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName 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
参数
- ignoreCase
- Boolean
一个布尔值,指示是否执行区分大小写的搜索。
- bindingAttr
- BindingFlags
影响 typeName
构造函数搜索的零个或多个位标志的组合。 如果 bindingAttr
为零,则对公共构造函数进行区分大小写的搜索。
- binder
- Binder
一个对象,它使用反射启用绑定、参数类型的强制、成员的调用和 MemberInfo 对象的检索。 如果 binder
为 null,则使用默认联编程序。
- args
- Object[]
要传递给构造函数的实参。 此实参数组必须在数量、顺序和类型方面与要调用的构造函数的形参匹配。 如果无参数构造函数是首选,则 args
必须为空数组或 NULL。
- culture
- CultureInfo
区域性特定的信息,这些信息控制将 args
强制转换为 typeName
构造函数所声明的正式类型。 如果 culture
为 null
,则使用当前线程的 CultureInfo。
- activationAttributes
- Object[]
包含一个或多个可以参与激活的特性的数组。 通常,为包含单个 UrlAttribute 对象的数组,该对象指定激活远程对象所需的 URL。
此参数与客户端激活的对象相关。客户端激活是一项传统技术,保留用于向后兼容,但不建议用于新的开发。 应改用 Windows Communication Foundation 来开发分布式应用程序。
- securityAttributes
- Evidence
用于授权创建 typeName
的信息。
返回
一个对象,该对象是 typeName
指定的新实例的包装。 返回值需要打开包装才能访问真实对象。
实现
- 属性
例外
在卸载的应用程序域上尝试该操作。
assemblyName
或 typeName
为 null
。
assemblyName
不是当前加载的运行时的有效程序集。
一个程序集或模块用两个不同的证据加载了两次。
未找到 assemblyName
。
调用方没有权限调用此构造函数。
未找到匹配的构造函数。
调用方不能为非继承自 MarshalByRefObject 的对象提供激活属性。
- 或 -
securityAttributes
不是 null
。 未启用旧版 CAS 策略时, securityAttributes
应为 null
在 assemblyName
中未找到 typename
。
此示例为 null
。
注解
有关 格式,assemblyName
请参阅 AssemblyName 。
尝试在不是当前应用程序域的目标应用程序域上调用 CreateInstance 将导致在目标应用程序域中成功加载程序集。 Assembly由于 不是 MarshalByRefObject,因此,当此方法尝试将加载的程序集的 返回到Assembly当前应用程序域时,公共语言运行时将尝试将程序集加载到当前应用程序域中,并且加载可能会失败。 如果两个应用程序域的路径设置不同,则加载到当前应用程序域中的程序集可能与首先加载的程序集不同。
另请参阅
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈