反射动态获取方法

/// <summary>
/// 反射获取加密方法
/// </summary>
static Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "/xxx.dll");
/// <summary>
/// 动态生成token
/// </summary>
/// <param name="phone"></param>
/// <returns></returns>
public static string GenerToken(string phone)
{
  string res = "";
  StringBuilder sb = new StringBuilder();
  sb.Append(phone);

  Object[] params_obj = new Object[1];
  params_obj[0] = sb.ToString();
  Type type = assembly.GetType("xxx.Encrypt");
  //获取类中的公共方法Encrypt
  MethodInfo methed = type.GetMethod("MD5", new Type[] { typeof(string) });
  //创建对象的实例
  object instance = System.Activator.CreateInstance(type);
  //执行方法 new object[]为方法中的参数
  object result = methed.Invoke(instance, params_obj);
  if (result != null)
  {
    res = result.ToString();
  }
  return res;
}

posted @ 2018-06-27 16:02  CharmCheena  阅读(230)  评论(0)    收藏  举报