5

ミックスインのクラスのメソッドをリストしたい。

そのためには、ミックスインでソースコードを含むファイルを開く必要があると思いますが、そのファイルの名前を見つけるのは思ったより難しいです。

使ってみました

__FILE__

しかし、それはミックスイン宣言のファイルを提供します...したがって、すべてのファイルでミックスインを定義する必要があります...目標は定型コードを減らすことなので、これは意味がありません。

今のところ私の解決策は、クラスのコンストラクター内で引数としてファイル名を渡し、そこからミックスインを呼び出すことです。同じ親クラスから継承するすべてのクラスでこれを行うので、理想的にはそれを親クラスのコンストラクターに入れて、子クラスのメソッドを登録したいと思います。

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

4

1 に答える 1

7

これは開始するのに適した場所です:http://dlang.org/traits.html#allMembers

次に、他の特性を使用して、どのメンバーがメソッドであるかを判断できます。

于 2012-07-03T15:53:34.783 に答える