String html="abcdefg{#getinfo()#}hijk";
html.Replace(htmname, m.Groups["meth"].Value).ToString()
请问下变量 htmname 获取到的是 {#getinfo()#} 而 m.Groups["meth"].Value 获取到的是getinfo()这个方法,而现在我如何在此执行这个方法

解决方案 »

  1.   

    m.Groups["meth"].Value获取的是个MethedInfo对象吧,那么就用MethodInfo对象的Invoke方法调用,但如果这个MethodInfo如果代表一个实例方法,那么你所提供的信息中缺少了Invoke所需的对象实例
      

  2.   

    html.Replace(htmname, m.Groups["meth"].Value).ToString()  m.Groups["meth"].Value这个获取到的是一个方法名,要的就是在 Replace的时候怎么来执行这个方法
      

  3.   

    哦,可以现在这个行代码之前
    m.Groups["meth"].Value=getinfo()
      

  4.   

    我代码全贴上 你们看下 
     public static string GetTempleInfo()
            {
                string html ="abcdefg{#getinfo()#}hijk";
                Regex re = new Regex(@"{#(?<meth>[^{]*)#}");
                MatchCollection mc = re.Matches(html);
                foreach (Match m in mc)
                {
                   string htmname = "{#" + m.Groups["meth"].Value + "#}";
                   html = html.Replace(htmname, m.Groups["meth"].Value).ToString();
                }
                return html;
            }
      

  5.   

     MethodInfo mi = typeof(类的引用).GetMethod("getinfo");
     mi.Invoke(参数); //参数为getinfo()方法所需要的参数