.NET的两种反射方式

    技术2022-05-11  72

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

     


    最新回复(0)