.NET的两种反射方式

 

.net反射之一:

.NET技术与Java可以说是系出同门, 各领风骚,在framework的各层次各方面都有神似之处,但为了不过于形似,就常常改换名头,此地无银地力图证明我们这是百分百原创啊!比如说较常用的java.lang.StringBuffer和System.Text.StringBuilder,干一样的事,叫不同的名;

今天咱们要说的,是这.net反射Reflection中的一种:

JAVA:Class c=Class.forName("A");

obj.getClass().getMethod(setMethodName,new Class[] {});

.NET:

Type.GetType(className).GetMethod(method).Invoke(....)

这种方式中,className必须是<className,assemblyName>的形式

.net反射之二:

   Assembly assembly = Assembly.LoadFrom(assemblyFileName);
   object authorizationManager = assembly.CreateInstance(className);

这种方式中
assemblyFileName是<assemblyFileName.dll>
className是<className>的形式,稍微有些区别,相对来说,在Web环境下更应该使用前者,因为后者在className装载时可能会有问题

posted @ 2007-03-16 13:42  Kevin Lin  阅读(537)  评论(0编辑  收藏  举报