如何列出D中類或結構的所有方法(模板和純文本)?編譯時間。如何列出(編譯時間自省)D中的所有類/結構方法?
回答
__traits(allMembers)
http://dlang.org/spec/traits.html#allMembers
我的書的樣章進入更多細節太:https://www.packtpub.com/application-development/d-cookbook
您使用allMembers得到的名字,getOverloads拿到過載,而其他性狀鑑別只是他們都是。
again =)我如何列出所有的方法? allMembers返回所有內容:字段,方法,虛擬方法,模板,模板方法......目前我能夠檢測到非模板方法(通過MemberFunctionsTuple空白或豐滿度)。但我無法區分模板和模板方法。我沒有在特徵列表中看到「isMethod」。 –
好的,我在你的書中看到,getMember是「(typeof(member)== function))」做的東西。我會嘗試。 –
是的,加上'__traits(getOverloads)'可以得到它們全部。模板有點棘手,因爲它們直到實例化之前不是實際的函數... –
- 1. 列出所有使用的類 - 編譯時間
- 2. 編譯時間樹結構
- 3. 如何列出Eclipse Java中所有類的所有方法的所有用法?
- 4. 在D中編譯時間碼生成
- 5. 如何列出D中類的模板方法?
- 6. 列出給定類的層次結構中的所有基類?
- 7. 如何在D中編譯時枚舉結構或類中的名稱和類型?
- 8. 如何列出所有未經測試的類/類的方法?
- 9. 結構編譯時間錯誤
- 10. 如何列出類的所有字段(並且沒有方法)?
- 11. 如何列出具有使用VBScript方法的所有WMI類?
- 12. 如何爲所有類編寫方法
- 13. PyCharm:列出一個類的所有方法的所有用法
- 14. 如何爲所有ctype結構類設置__str__方法?
- 15. Pyinstaller:編譯時節省空間
- 16. 在編譯D-ITG時出錯
- 17. D編譯時函數類型提取
- 18. 如何遍歷C++類的所有子類(在編譯時)?
- 19. 如何在編譯時獲取所有繼承類的類型?
- 20. 如何在編譯時查詢類的所有基類?
- 21. NumPy的:以編程方式修改D型結構化陣列
- 22. d編譯時變均勻陣列
- 23. Flex編譯器省略類
- 24. 如何列出類/對象的所有方法?
- 25. C結構在編譯時
- 26. Python如何列出已導入到類中的所有方法/類
- 27. 如何列出存儲在MySQL中的層次結構中的所有直接和間接子類型
- 28. d - 純類和結構
- 29. 如何列出gdb中的類方法?
- 30. 所有合成方法的IntelliJ反編譯類
你可以在這裏找到一些線索:http://www.ddili.org/ders/d.en/uda.html – DejanLekic