如何在运行时使用refaction类仅获取类中的所有Web方法
本文关键字:方法 Web 获取 运行时 refaction | 更新日期: 2023-09-27 18:25:08
我在特定类中继承webservice,并且在运行时,我希望仅获取在特别类中继承的webservice类中声明的所有Web方法。。。我只想从继承webservice类的类中获取webmethod。。
您可以使用反射来获取类的所有方法,然后查看哪些方法具有[OperationContract]属性。您可以使用linq在一条语句中完成此操作,如下所示:
var methods = typeof(Service1).GetMethods()
.Where(meth => meth.GetCustomAttributes(true)
.Where(attr => attr is OperationContractAttribute)
.Count() > 0);
通过在GetCustomAttributes中为bool标志指定"true",代码将从方法的整个继承链中提取属性。