这么两种用法区别在哪里其一:Assembly asm =Assembly.GetExecutingAssembly()
//实例化。
object obj = asm.CreateInstance("类名",true);
//然后调用方法。
Type t = typeof(类名);
t.invokememeber()
其二:类型名 testclass = Activator.CreateInstance(type) as 类型名;
//调用;
就可以像实例化普通对象一样调用。如
testxlass.Add()//调用方法
//实例化。
object obj = asm.CreateInstance("类名",true);
//然后调用方法。
Type t = typeof(类名);
t.invokememeber()
其二:类型名 testclass = Activator.CreateInstance(type) as 类型名;
//调用;
就可以像实例化普通对象一样调用。如
testxlass.Add()//调用方法
解决方案 »
- [SOS]=====100分求帮助
- 求解:GridView导成Excel没内容或者是乱码
- 有人有我这样的问题吗
- VS2005,ASPX语法,很简单,没做过,帮我看看,
- 两个问题???
- 如何取到以showModalDialog方式打开的页面的WebBrowser?
- 谁有利用asp.net将excel导入到sql
- 关于查询唯一值----错那了应该怎么改呢==高手指教
- 如何用datareader获得SQL中sum的值?
- (急)求助:为什么datalisr中button或imagebutton总是不能被激发
- sql server 中触发器,如果实现此功能?请进·····
- 急急急,求ASP.NET内GRIDVIEW里面更新一个字段的问题!!!!
我咋感觉更习惯性的用第二种。
因为第一种要传那些什么bind bindingflag什么的,
要是方法有参数还要传参数什么的,麻烦。
//调用;
就可以像实例化普通对象一样调用。如
testxlass.Add()//调用方法
是可行的
可以动态在程序运行中获取到字符串,然后转换成类对象而第二种的type,是在编译时就必须得到的
如果dll 在引用的情况下 那你是可以知道相关类型的反之不引用的情况下,通过 Assembly.LoadFile 然后在 CreateInstance 是可以的这样是 类型名 Instance = new 类型名(); 所不行的
MSDN讲得很简单。
一个例子都没有。
Type type = asm.GetType("类名", false, true);
object obj = Activator.CreateInstance(type, BindingFlags.Public | BindingFlags.Instance,
null, null, null, null);