如何实例化一个新的泛型类型的实例
在C#中,您可以对泛型创建一个新的约束来创建一个泛型参数类型的新实例,在Kotlin中是否有相同的方法?
现在我的工作是这样的:
fun <T> someMethod(class : () -> T) { val newInstance = class() }
我正在像这样调用someMethod()
someMethod<MyClass>(::MyClass)
但我想要做这样的事情:
fun <T : new> someMethod() { val newInstance = T() }
那可能吗?
目前,这是不可能的。 您可以对https://youtrack.jetbrains.com/issue/KT6728问题大拇指投票选择添加此功能。
至少,你可以省略泛型,因为Kotlin可以推论出它:
someMethod(::MyClass)