Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Generics 我可以从具体化的T创建KType吗_Generics_Kotlin - Fatal编程技术网

Generics 我可以从具体化的T创建KType吗

Generics 我可以从具体化的T创建KType吗,generics,kotlin,Generics,Kotlin,我使用具体化的泛型来捕获KClass 是否有办法捕获KType而不是KClass 提前感谢。不,到目前为止,这还不能做到,Kotlin问题跟踪程序中有关于它的信息,目前标记为待讨论 但是,您可以使用子类化,特别是。谢谢,从具体化的类型参数中获得的不仅仅是KClass。我不知道超级类型的代币。这是我将要调查的事情。看起来它对我的用例来说已经足够好了。看起来超级类型令牌只在Kotlin/JVM中有效,而在Kotlin/Common中不起作用? inline fun <reified T>

我使用具体化的泛型来捕获
KClass

是否有办法捕获
KType
而不是
KClass


提前感谢。

不,到目前为止,这还不能做到,Kotlin问题跟踪程序中有关于它的信息,目前标记为待讨论


但是,您可以使用子类化,特别是。

谢谢,从具体化的类型参数中获得的不仅仅是
KClass
。我不知道超级类型的代币。这是我将要调查的事情。看起来它对我的用例来说已经足够好了。看起来超级类型令牌只在Kotlin/JVM中有效,而在Kotlin/Common中不起作用?
inline fun <reified T> register(generator: Generator<T>) {
    register(T::class, generator)
}
inline fun <reified T> register(generator: Generator<T>) {
    register(T::ktype, generator) // Doesn't compile
}

...

register<String?>(myGen) // The nullability of String? is captured