有关使用反射调用方法的Demo

  1. namespace 反射
  2. {
  3.     class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             //Assembly ass = Assembly.LoadFile(@"d:/Demo.dll");
  8.             //Type type = ass.GetType("Demo.ReflectCLASS");
  9.               System.Reflection.Assembly ass;
  10.                  Type type ;
  11.                 object obj;
  12.                 try
  13.                 {
  14.                     ass = System.Reflection.Assembly.LoadFile(@"d:/Demo.dll");
  15.                     type = ass.GetType("Demo.ReflectCLASS");//必须使用名称空间+类名称
  16.                     System.Reflection.MethodInfo method = type.GetMethod("WriteString");//方法的名称
  17.                     obj = ass.CreateInstance("Demo.ReflectCLASS");//必须使用名称空间+类名称
  18.                     string s = (string)method.Invoke(obj, new string[] { "jianglijun" }); //实例方法的调用
  19.                     Console.WriteLine(s );
  20.                     method = type.GetMethod("WriteName");//方法的名称
  21.                     s = (string)method.Invoke(nullnew string[] { "jianglijun" }); //静态方法的调用
  22.                     Console.WriteLine(s);
  23.                     method = type.GetMethod("WriteNoPara");//无参数的实例方法
  24.                     s = (string)method.Invoke(obj, null);
  25.                     Console.WriteLine(s );
  26.                     method = null;
  27.                 }
  28.                 catch(Exception ex)
  29.                 { 
  30.                 
  31.                 }
  32.         }
  33.     }
  34. }

你可能感兴趣的:(String,null)