2011-09-17 4 views

답변

2

System.Net.Reflection을 사용하십시오. 리플렉션 클래스를 사용하면 런타임에 DLL 유형의 메타 데이터를 쿼리 할 수 ​​있습니다.

뭔가 this.GetType().Assembly.GetTypes();

12

같은 예는 모든 유형을 추출 Assembly.GetTypes를 사용하고 공개 방법을 반복하는 각 유형에 반사를 사용합니다.

Assembly a = Assembly.LoadWithPartialName("..."); 
Type[] types = a.GetTypes(); 
foreach (Type type in types) 
{ 
    if (!type.IsPublic) 
    { 
     continue; 
    } 

    MemberInfo[] members = type.GetMembers(BindingFlags.Public 
              |BindingFlags.Instance 
              |BindingFlags.InvokeMethod); 
    foreach (MemberInfo member in members) 
    { 
     Console.WriteLine(type.Name+"."+member.Name); 
    } 
} 
4
var assembly = // grab assembly 
var types = assembly.GetExportedTypes(); 

foreach (var type in types) { 
    var methods = type.GetMethods(BindingFlags.Public); 
} 

GetExportedTypes 어셈블리에있는 모든 public 형식을 반환합니다. 또한 인스턴스 메서드, 정적 메서드 또는 둘 다를 원한다는 것을 지정하지 않았습니다.

관련 문제