zoukankan
html css js c++ java
两种动态创建对象的方法
1、如果要创建的对象,在一个assembly中,那么方法可以有很多。如这种方式:
System.Reflection.Assembly ass
=
System.Reflection.Assembly.LoadFrom(
@"
D:Programsvs.netInterfaceCominDebugCom.dll
"
);
Type t
=
ass.GetType(
"
Com.Class1
"
);
string
[] implCtorSig
=
{
"
System.String
"
}
;
Type[] ctorSigArr
=
Type.GetTypeArray(implCtorSig);
System.Reflection.ConstructorInfo ctorInfo
=
t.GetConstructor(ctorSigArr);
object
[] ctorArgs
=
{
"
1
"
}
;
object
obj
=
ctorInfo.Invoke(ctorArgs);
Com.IDict idict
=
(Com.IDict)obj;
2、如果对象在另一个assembly中,那么上述代码最后一行,会抛出一个invalid cast异常。而用下面的方式,是可以的:
System.Reflection.Assembly ass
=
System.Reflection.Assembly.LoadFrom(
@"
D:Programsvs.netInterfaceCominDebugCom.dll
"
);
Type t
=
ass.GetType(
"
Com.Class1
"
);
object
[] ctorArgs
=
{
"
1
"
}
;
System.Runtime.Remoting.ObjectHandle oh
=
Activator.CreateInstance(ass.FullName,t.FullName,
true
,System.Reflection.BindingFlags.CreateInstance,
null
,ctorArgs,System.Globalization.CultureInfo.CurrentCulture,
new
Object[]
{}
,
null
);
Com.IDict dict
=
(Com.IDict)(oh.Unwrap());
查看全文
相关阅读:
远程服务器上的weblogic项目管理(二)发布完成后如何重启weblogic容器
Oracle中日期和时间类函数
程序员应如何提高实效?读《程序员修炼之道》有感
远程服务器上的weblogic项目管理(一)项目部署与更新流程
远程服务器上的weblogic项目管理(四)filelock not found错误解决方法
浅拷贝与深拷贝
for...of 与 for...in
工厂函数创建对象
Promise
闭包内存泄漏解决方法
原文地址:https://www.cnblogs.com/juqiang/p/45430.html
最新文章
月初
记一件小事五味杂坛
周五啦
休憩一会
中点站
乱七八糟,一片狼藉
解决一个bug
总结篇
mooc课程mit 6.00.1xproblem set3解决方法
关于String,StringBuffer与StringBuilder的区别
热门文章
远程服务器上的weblogic项目管理(五) PermGen内存溢出问题
使用python实现二分法查找
java中final与static的使用场景
远程服务器上的weblogic项目管理(三)常用指令及常见错误
JavaScript如何判断非空
mooc课程mit 6.00.1xproblem set2解决方法
mooc课程mit6.00.1xproblem set1解决方法
JAVA中int与String类型的相互转换
JAVA中equals()与==的区别详解
《写给大家看的设计书》阅后感受与思维导图分享
Copyright © 2011-2022 走看看