12,162
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 取得所有webservice代理类
/// </summary>
/// <returns></returns>
private List<Type> GetWebServiceClassList()
{
List<Type> webServiceList = new List<Type>();
Assembly[] assemblys = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblys)
{
if (assembly.GlobalAssemblyCache) continue;
//if (assembly.FullName.IndexOf("App_WebReferences") < 0) continue;//可选,提高效率
Type[] types = assembly.GetExportedTypes();
foreach (Type t in types)
{
if (t.IsClass && typeof(System.Web.Services.Protocols.SoapHttpClientProtocol).IsAssignableFrom(t))
{
webServiceList.Add(t);
}
}
}
return webServiceList;
}
Type baseType = typeof(System.Web.Services.Protocols.SoapHttpClientProtocol);
Type[] allClasses = typeof(YourClass).Assembly.GetTypes();
foreach (Type type in allClasses)
{
if (type.IsSubclassOf(baseType))
{
Console.WriteLine(type.ToString());
}
}