给定一个类型,创建一个包含它的选项类型



给定一个名为innerType,我想创建一个新的Type,它代表一个包含与inner相同类型的Option

例如,执行此操作的方法的签名可能如下所示:
def createOptionType(inner: Type): Type = {
  typeOf[Option[inner]] // this line is pseudocode
}

这个答案有部分帮助,但是使用了泛型方法,而在这种情况下,我传入了一个具体类型,使得泛型不可用。

您可以使用scala.reflect.runtime.universe.appliedType:

import scala.reflect.runtime.universe._
def createOptionType(inner: Type): Type = 
  appliedType(typeOf[Option[_]], inner)

相关内容

  • 没有找到相关文章

最新更新