在每个页面背后的代码中,如何使用反射来获取我在该页面上定义的所有web方法?
目前我有以下内容并在Page_Load()中调用它,但它没有找到我的1静态函数,我有一个webmethod属性。
MethodInfo[] methods = this.GetType().GetMethods();
foreach (MethodInfo method in methods)
{
foreach (Attribute attribute in method.GetCustomAttributes(true))
{
if (attribute is WebMethodAttribute)
{
}
}
}
答案 0 :(得分:1)
尝试使用Public static:
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()
{
}
}
为我工作