c#中Assembly CreateInstance的使用问题

现在所有一个程序,需要使用C#的反射动态调用DLL文件,我目前只会使用DockContentFormLoad=(DockContent)Assembly.Load(an)... 现在所有一个程序,需要使用C#的反射动态调用DLL文件,我目前只会使用DockContent FormLoad = (DockContent)Assembly.Load(an).CreateInstance(fn)【an是程序集的名称,fn是程序集中命名空间的名称】调用程序。
但是,这样只能调用构造函数中没有参数的程序,可是如果构造参数中有函数(例如public baidu(string baidu)),调用的时候想要赋予构在函数中的参数参数值(baidu("baidu")),调用这个有参数的构造函数,而不是默认的没有参数的。
这个应该怎么解决呢?
展开
 我来答
kugua70708
推荐于2016-08-26 · TA获得超过161个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:190万
展开全部
使用这个重载函数:C#
public Object CreateInstance (
string typeName,
bool ignoreCase,
BindingFlags bindingAttr,
Binder binder,
Object[] args,
CultureInfo culture,
Object[] activationAttributes
)
参数
typeName
要查找的类型的 Type.FullName。

ignoreCase
如果为 true,则忽略类型名的大小写;否则,为 false。

bindingAttr
影响执行搜索的方式的位屏蔽。此值是 BindingFlags 中的位标志的组合。

binder
一个启用绑定、参数类型强制、成员调用以及通过反射进行 MemberInfo 对象检索的对象。如果 binder 为空引用(在 Visual Basic 中为 Nothing),则使用默认联编程序。

args
Object 类型的数组,包含要传递给构造函数的参数。此参数数组在数量、顺序和类型方面必须与要调用的构造函数的参数匹配。如果需要默认的构造函数,则 args 必须是空数组或空引用(在 Visual Basic 中为 Nothing)。

culture
用于控制类型强制的 CultureInfo 的实例。如果这是空引用(在 Visual Basic 中为 Nothing),则使用当前线程的 CultureInfo。(例如,这对于将表示 1000 的 String 转换为 Double 值是必需的,因为不同的区域性以不同的方式表示 1000。)

activationAttributes
Object 类型的数组,包含一个或多个可以参与激活的激活属性。激活属性的一个示例是:

URLAttribute(http://hostname/appname/objectURI)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式