2016-08-11 10 views
1

が含まれているオプションタイプを作成し、タイプを考えると、私はinnerと同じ型のタイプを含むOptionを表す新しいTypeを作成したいと思います。はそれを<code>inner</code>という名前<code>Type</code>考える

たとえば、これを行うだろうメソッドのシグネチャは次のようになります:

def createOptionType(inner: Type): Type = { 
    typeOf[Option[inner]] // this line is pseudocode 
} 

This answerは、部分的に役立ちますが、一般的な方法を使用しています。この場合、私は渡された具体的なタイプを持っているのに対し、ジェネリック医薬品を使用できなくする。

答えて

5

あなたはそのためのscala.reflect.runtime.universe.appliedType使用することができます。

import scala.reflect.runtime.universe._ 

def createOptionType(inner: Type): Type = 
    appliedType(typeOf[Option[_]], inner) 
関連する問題

 関連する問題