在.Net中,我想枚举所有AppDomains上加载的所有程序集。为我的程序的AppDomain做这件事已经很简单了,AppDomain.CurrentDomain.GetAssemblies()
。我需要以某种方式访问每个AppDomain吗?或者已经有一个工具可以做到这一点?
发布于 2011-11-29 08:03:28
这就是我最终得到的结果。它是所有属性和方法的列表,我列出了每个方法的所有参数。我没有成功地获得所有的值。
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>");
}
}
}
}
https://stackoverflow.com/questions/458362
复制相似问题