首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何列出所有加载的程序集?

如何列出所有加载的程序集?
EN

Stack Overflow用户
提问于 2009-01-19 17:10:52
回答 1查看 109K关注 0票数 108

在.Net中,我想枚举所有AppDomains上加载的所有程序集。为我的程序的AppDomain做这件事已经很简单了,AppDomain.CurrentDomain.GetAssemblies()。我需要以某种方式访问每个AppDomain吗?或者已经有一个工具可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2011-11-29 08:03:28

这就是我最终得到的结果。它是所有属性和方法的列表,我列出了每个方法的所有参数。我没有成功地获得所有的值。

代码语言:javascript
复制
foreach(System.Reflection.AssemblyName an in System.Reflection.Assembly.GetExecutingAssembly().GetReferencedAssemblies()){                      
            System.Reflection.Assembly asm = System.Reflection.Assembly.Load(an.ToString());
            foreach(Type type in asm.GetTypes()){   
                //PROPERTIES
                foreach (System.Reflection.PropertyInfo property in type.GetProperties()){
                    if (property.CanRead){
                        Response.Write("<br>" + an.ToString() + "." + type.ToString() + "." + property.Name);       
                    }
                }
                //METHODS
                var methods = type.GetMethods();
                foreach (System.Reflection.MethodInfo method in methods){               
                    Response.Write("<br><b>" + an.ToString() + "."  + type.ToString() + "." + method.Name  + "</b>");   
                    foreach (System.Reflection.ParameterInfo param in method.GetParameters())
                    {
                        Response.Write("<br><i>Param=" + param.Name.ToString());
                        Response.Write("<br>  Type=" + param.ParameterType.ToString());
                        Response.Write("<br>  Position=" + param.Position.ToString());
                        Response.Write("<br>  Optional=" + param.IsOptional.ToString() + "</i>");
                    }
                }
            }
        }
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/458362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档