我使用C#編寫* .dll,並且需要獲取包含在* .dll中的所有公共方法或類的列表。有沒有辦法用C#編程實現它?如何從* .dll中檢索所有公共方法
9
A
回答
2
使用System.Net.Reflection。 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將在大會返回所有公共類型。你也沒有指定你是否只需要實例方法,靜態方法或兩者。
相關問題
- 1. Clang:檢索公共方法
- 2. 如何從EWS檢索公共日曆?
- 3. 關於將檢查所有公共方法的類的方面
- 4. 所有活動的公共方法
- 5. 如何在公共方法中使用私有方法來檢查有效性?
- 6. 如何從另一個dll通過反射方法使用公共方法?
- 7. 如何在PHP中的所有公共方法之前調用方法?
- 8. 如何檢查一個類的所有公共方法都是虛擬
- 9. 如何從任何.net類獲取所有公共屬性和方法?
- 10. javascript中的私有和公共方法
- 11. 與方法公共方法與私有
- 12. 定義所有公共方法或原型個別方法?
- 13. 如何在Clojure中調用公共類的非公共方法?
- 14. 將所有輸出dll放在Visual Studio的公共目錄中
- 15. 從DLL獲取公共方法的列表
- 16. 公共方法
- 17. 編程檢查方法是公共
- 18. 公共方法中的私有參數
- 19. 如何從方法中檢索變量
- 20. 包私有類中的公共方法
- 21. 包私有類中的公共方法
- 22. 獲取SWIG中的所有公共變量和方法
- 23. 如何聲明公共方法和私有方法在JavaScript
- 24. 無法通過dll訪問公共方法
- 25. 想要以公共方法與所有數據成員通過另一個公共方法從同一個公共類中調用
- 26. C#:無法訪問私有方法中的公共方法
- 27. 如何將包含的私有方法公開爲公共類方法?
- 28. Rhino Mocks驗證私有方法是從公共方法調用
- 29. 從公共方法調用私有方法?
- 30. 圖表API:檢索用戶重新共享的所有公共帖子
一個字:反射。 – BoltClock