当前位置: 移动技术网 > IT编程>开发语言>.net > cSharp:反射 Reflection

cSharp:反射 Reflection

2019年03月28日  | 移动技术网IT编程  | 我要评论

结婚登记多少钱,香港搞笑鬼片大全,2014湖南中秋之夜

 

 

     /// <summary>
        /// 利用反射调用插件方法
        /// 涂聚文(geovin du)
        /// 2019-03-27        /// 
        /// </summary>
        /// <param name="assemblyname">生成类库文件名称</param>
        /// <param name="classname">类名</param>
        /// <param name="methodname">方法名</param>
        /// <param name="objparas">参数</param>
        /// <returns>datatable</returns>
        public datatable getmethod(string assemblyname, string classname, string methodname, params object[] objparas)
        {
            datatable dt = new datatable();
            try
            {
                assembly assembly = assembly.load(assemblyname);//生成类库文件名称 放在bin文件夹下的类库文件dll的名称
                object obj = assembly.createinstance("ducms.web.plugin." + assemblyname + "." + classname); //类库名称+类名称
                type t = obj.gettype();
                //查找匹配的方法
                foreach (methodinfo m in t.getmethods(bindingflags.instance | bindingflags.public))
                {
                    if (m.name == methodname && m.getparameters().length == objparas.length)
                    {
                        object obj2 = m.invoke(obj, objparas);
                        dt = obj2 as datatable;
                        return dt;
                    }
                }
            }
            catch
            {
                //插件方法获取失败
            }
            return dt;
        }

  调用:

datatable backlist = getmethod("feedback", "feedback", "getfeedbacklist", 4, "islock=0 and siteid="+site.id);

	foreach(datarow dr in backlist.rows)
	{
         。。。。
        }

  

feedback 类
namespace ducms.web.plugin.feedback
{

    /// <summary>
    /// 
    /// </summary>
    public partial class feedback : web.ui.page
    {
        /// <summary>
        /// 留言分页列表
        /// </summary>
        /// <param name="page_size">页面大小</param>
        /// <param name="page_index">当前页码</param>
        /// <param name="strwhere">查询条件</param>
        /// <param name="totalcount">总记录数</param>
        /// <returns>datetable</returns>
        public datatable getfeedbacklist(int pagesize, int pageindex, string strwhere, out int totalcount)
        {
               .....
        }
    
    }
}    

  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网