有沒有一種方法可以獲得所有導入的模塊或其他方式?據我所見,「allMembers」不會包含導入的成員。獲取所有導入模塊的性狀
我想實現的是從導入的模塊中導入所有成員,但它看起來並不像我想象的那麼容易。如果我指定了導入的完整模塊,我可以很容易地獲得我想要的成員,但是如果我使用當前模塊本身,則不會。
所以我的問題是,有沒有辦法在D中獲取所有導入模塊的名稱,因爲這樣我就可以創建一個在模塊上使用「allMembers」的動態方法。
說明我的意思。
假設我們有模塊a。
module a;
import b;
import c;
...
foreach (member; __traits(allMembers, a)) {
// members of b and c will not come here ...
}
即使b和c的輸入是公開的,他們也不會來。
我希望能夠做的是無論如何檢索它們。
'b'和'c'的輸入不會包含在'allMembers'中,而是'b'和'c'本身。如果你可以通過一些'isModule(別名符號)'模板(我不知道該怎麼寫)來過濾成員,你可以在每個模塊上調用'allMembers'來獲得導入的模塊。 – rcorre
[這個優秀的答案](http://stackoverflow.com/a/25560800/1435461)可能會幫助你 – rcorre
在我的情況下,他們不包括在內。我會看到我能想到的,但截至目前,這些解決方案對我沒有任何影響。 @rcorre,已經嘗試過這種解決方案,並沒有改變。我想要避免的是輸入模塊名稱全部手冊,因爲它會是很多模塊,我必須這樣做。雖然 – Bauss