C#使用反射执行一个类中的方法

实现在类PTtemplate中反射classff中的方法abc(inta)方法有参数... 实现在类PTtemplate中反射classff中的方法abc(int a)方法有参数 展开
 我来答
百度网友0ba9ea42f
2016-08-04 · TA获得超过240个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:173万
展开全部
using System.Reflection;
    
    public class PTtemplate
    {
        public string Fanshefangfa(int a)
        {
            return Execute("Factory", "classff", "abc", a.toString());
        }

        //参数分别是:命名空间、类名、方法名、参数列表(多个参数可用,分隔)
         public string Execute(string name_space, string className, string MethodName, string pstr)
        {
            //先从程序集中查找所需要的类并使用系统激活器创建实例
            object instance = Assembly.Load(name_space).CreateInstance(name_space + "." + className);
            Type type = instance.GetType();
            object[] parameters = null;
            if (pstr != "")
            {
                string[] pa = pstr.Split(',');
                parameters = new object[pa.Length];
                for (int i = 0; i < pa.Length; i++)
                {
                    if (StrChangeBLL.IsInt(pa[i]))
                        parameters[i] = int.Parse(pa[i]);
                    else
                        parameters[i] = pa[i];
                }
            }
            //查找指定的方法,然后返回结果
            MethodInfo methodinfo = type.GetMethod(MethodName);
            return methodinfo.Invoke(instance, parameters).ToString();
        }

    }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式