using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Reflection;
using Leadsoft.Common;
public partial class Reflection_reflect : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
#region Ajax程序集应用
////Type ty = Type.GetType("SystemYW.PM.DAO.AjaxMethod");
//Assembly ass = Assembly.Load("SystemYW");
//Type type = ass.GetType("SystemYW.PM.DAO.AjaxMethod");
//Ajax.Utility.RegisterTypeForAjax(type);
#endregion
//方法 一
Type te = Type.GetType("SystemYW.PM.DAO.AjaxMethod, SystemYW");//命名空间.类名, 程序序集名称
MethodInfo mi = te.GetMethod("TestS");
object o = Activator.CreateInstance(te);//相当于 object o = new AjaxMethod();
//方法 二
Assembly ass = Assembly.Load("SystemYW");//加载程序集名称
Type type = ass.GetType("SystemYW.PM.DAO.AjaxMethod");//类名称;获取类对象
MethodInfo minfo = type.GetMethod("TestS");//方法名称
object obj = new object();
obj = ass.CreateInstance("SystemYW.PM.DAO.AjaxMethod");//创建该类实例
bool isStatic = minfo.IsStatic;
string val = "";
if (isStatic)
{
//Invoke(实例, 参数列表)
//val = mi.Invoke(null, null).ToString();
val = minfo.Invoke(null, null).ToString();//静态方法不需要实例,所以第一个参数为null
}
else
{
val = minfo.Invoke(obj, null).ToString();
}
//反射
IControl IC = (IControl)Assembly.Load("SystemYW").CreateInstance("SystemYW.PM.DAO.SavaInput");
string param = "FormID|1";
IC.Sava(param);
}
}