5
你可以得到這樣一個類的所有構造函數:使用新的反射API,如何找到一個類的主要構造函數?
import scala.reflect.runtime.universe._
val ctor = typeOf[SomeClass].declaration(nme.CONSTRUCTOR).asTerm.alternatives
有沒有辦法知道哪一個是主構造?它總是列表中的第一個? 如果SomeClass
是在Java中定義的,主構造函數的概念不存在會發生什麼情況?
嗯......這不適用於編譯器階段(post-typer,pre-pickler)。我只是用'declaration'或'member'獲得null對象。有任何想法嗎? – gzm0 2013-12-17 12:24:18
虛驚一場。它的確如此。我傳入'ClassDef.tpe'而不是'ClassDef.symbol.tpe' – gzm0 2013-12-17 12:28:08