2016-01-05 18 views

回答

2

__traits(allMembers)

http://dlang.org/spec/traits.html#allMembers

我的書的樣章進入更多細節太:https://www.packtpub.com/application-development/d-cookbook

您使用allMembers得到的名字,getOverloads拿到過載,而其他性狀鑑別只是他們都是。

+0

again =)我如何列出所有的方法? allMembers返回所有內容:字段,方法,虛擬方法,模板,模板方法......目前我能夠檢測到非模板方法(通過MemberFunctionsTuple空白或豐滿度)。但我無法區分模板和模板方法。我沒有在特徵列表中看到「isMethod」。 –

+1

好的,我在你的書中看到,getMember是「(typeof(member)== function))」做的東西。我會嘗試。 –

+0

是的,加上'__traits(getOverloads)'可以得到它們全部。模板有點棘手,因爲它們直到實例化之前不是實際的函數... –