zoukankan      html  css  js  c++  java
  • C#反射实例讲解

     创建用于反射使用的DLL

    新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll)

    using System;
     
    namespace Webtest
     
    {
      
    /**//// <summary>
      
    /// ReflectTest 的摘要说明。
      
    /// </summary>

      public class ReflectTest
      
    {
      
    public ReflectTest()
      
    {}

      
    public string WriteString(string s)
      
    {
       
    return "欢迎您," + s;
      }


      
    /**//// <summary>
      
    /// dsajkjflasjdfalksdjfaskfd
      
    /// </summary>
      
    /// <param name="s"></param>
      
    /// <returns></returns>

      public static string WriteName(string s)
      
    {
       
    return "欢迎您光临," + s;
      }


      
    public string WriteNoPara()
      
    {
       
    return "您使用的是无参数方法";
      }

     }

    }


    2 应用于反射的例子

    在ASPNET页面中加入以下函数:

    public void test1()
     
    {
      System.Reflection.Assembly ass;
        Type type ;
        
    object obj;
        
    try
        
    {
         ass 
    = System.Reflection.Assembly.LoadFile(@"d:\TestReflect.dll");
         type 
    = ass.GetType("Webtest.ReflectTest");//必须使用名称空间+类名称
        System.Reflection.MethodInfo method = type.GetMethod("WriteString");//方法的名称
        obj = ass.CreateInstance("Webtest.ReflectTest");//必须使用名称空间+类名称
        string s = (string)method.Invoke(obj,new string[]{"jianglijun"}); //实例方法的调用
       
        Response.Write(s
    +"<br>");
        method 
    = type.GetMethod("WriteName");//方法的名称
        s = (string)method.Invoke(null,new string[]{"jianglijun"}); //静态方法的调用
        Response.Write(s+"<br>");

        method 
    = type.GetMethod("WriteNoPara");//无参数的实例方法
        s = (string)method.Invoke(obj,null);
        Response.Write(s
    +"<br>");
        method 
    = null;
       }

       
    catch(Exception ex)
       
    {
        Response.Write(ex
    +"<br>");
       }

       
    finally
       
    {
       ass 
    = null;
        type 
    = null;
        obj 
    = null;
       }

      }
  • 相关阅读:
    脱发
    jquery radio 选择值
    今天看了非诚勿扰记忆哥,觉得人和人还是差的是能力
    如果要在数组中删除东西还是用倒序的数是正确的
    jquery操作 xml
    偶然在一个帖子上看到的
    jquery 队列的应用
    阅读
    Request的getParameter和getAttribute方法的区别
    jsp与jspx文件
  • 原文地址:https://www.cnblogs.com/engine1984/p/863581.html
Copyright © 2011-2022 走看看