2012-07-03 4 views
5

クラスのメソッドをmixinにリストしたいと思います。クラスのメソッドをリストするtrough mixin

これを行うには、私はmixinのソースコードを含むファイルを開く必要があると思っていますが、そのファイルの名前を見つけることは思ったより難しいです。

目標はあるので、どんな意味を成さない...私は

__FILE__ 

を使用してみましたが、それはミックスイン宣言のファイルを提供します...ので、私はすべてのファイルにミックスインを定義する必要がありますボイラープレートコードを減らす。

私の解決方法は、クラスのコンストラクタ内で引数としてファイル名を渡し、そこからmixinを呼び出すことです。私は同じ親クラスから継承するすべてのクラスでこれを行うので、親クラスのコンストラクタに配置し、子クラスのメソッドを登録することが理想的です。

これを行うには良い方法がありますか? ファイルを開かなくてもクラスのメソッドを検索できるものは何ですか?

+1

@Peter Alexanderの回答(here)(http://stackoverflow.com/a/10962900/744588)は興味深いようです。 – menjaraz

+1

この[post](http://stackoverflow.com/a/7496918/744588)の@ Cyber​​Shadowのものと同じです。 – menjaraz

答えて

7

これは、開始するには良い場所でなければなりません:http://dlang.org/traits.html#allMembers

次に、あなたのメンバーがメソッドである把握するために、他の特徴を使用することができます。

関連する問題