2011-09-17 35 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は、アセンブリ内のすべてのパブリック型を返します。また、インスタンスメソッド、静的メソッド、またはその両方を必要とするかどうかを指定しませんでした。

関連する問題