0

在每个页面背后的代码中,如何使用反射来获取我在该页面上定义的所有 webmethod?

目前我有以下内容并在 Page_Load() 中调用它,但它没有找到我有 webmethod 属性的 1 静态函数。

MethodInfo[] methods = this.GetType().GetMethods();
foreach (MethodInfo method in methods)
{
    foreach (Attribute attribute in method.GetCustomAttributes(true))
    {
        if (attribute is WebMethodAttribute)
        {
        }
    }
}
4

1 回答 1

1

试试这个公共静态:

 public partial class Default : System.Web.UI.Page
    {
        public Default()
        {

        }

        protected void Page_Load(object sender, EventArgs e)
        {
            MethodInfo[] methodInfos = typeof(Default).GetMethods(BindingFlags.Public |
                                                      BindingFlags.Static);
            foreach (MethodInfo method in methodInfos)
            {
                foreach (Attribute attribute in method.GetCustomAttributes(true))
                {
                    if (attribute is WebMethodAttribute)
                    {
                    }
                }
            }

        }
        [WebMethod]
        public static void A() 
        { 
        }
    }

为我工作

于 2012-11-25T02:28:10.447 回答