.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装载时可能会有问题