2013-10-09 41 views
0

我想知道我怎麼可以投對象asInstanceOf MethodSymbol.returnType斯卡拉反映:使用MethodSymbol.returnType

的結果

喜歡的東西:

runtimeMirror(getClass.getClassLoader).reflect(myObject).reflectMethod(myMethodSymbol).apply().asInstanceOf[myMethodSymbol.returnType.typeSymbol] 

回答

0

首先,你爲什麼會想做這樣的事情?

您在這裏可以實現的唯一一件事就是檢查您的對象是否是方法返回類型的運行時類的實例。你可以這樣做:

val myObject = ... 
val myMethodsReturnType = ... 
mirror.runtimeClass(myMethodsReturnType).isInstance(myObject) 

否則,這樣的類型轉換是沒有意義的,因爲類型轉換是編譯時操作。