Generics 在不传递泛型的情况下确定类型

Generics 在不传递泛型的情况下确定类型,generics,kotlin,Generics,Kotlin,我有一个得到扩展的类,它接受一个泛型类型,而泛型类型本身也接受一个类型: 抽象类基类 当然,上面的代码虽然显示了传递的泛型的结构,但它是无效的,因此我必须这样编写: 抽象类基类 这意味着我必须写出两种类型: classmyclass:BaseClass() 既然MyT为BaseT声明了一个要使用的类型,那么有没有任何方法可以从T中获取U的类型而不那么冗长?我只想编写BaseClass,并让它明白既然classmyt:BaseT,它应该期望U的关联子类型,对于BaseT的任何子类型。我是不是想得太

我有一个得到扩展的类,它接受一个泛型类型,而泛型类型本身也接受一个类型:


抽象类基类

当然,上面的代码虽然显示了传递的泛型的结构,但它是无效的,因此我必须这样编写:


抽象类基类

这意味着我必须写出两种类型:

classmyclass:BaseClass()


既然
MyT
BaseT
声明了一个要使用的类型,那么有没有任何方法可以从
T
中获取
U
的类型而不那么冗长?我只想编写
BaseClass
,并让它明白既然
classmyt:BaseT
,它应该期望
U
的关联子类型,对于
BaseT
的任何子类型。我是不是想得太多了?正确的答案是“同时编写泛型并停止抱怨”吗?

抽象类基类
这正是我所需要的!我最近刚刚读了
in
/
out
,但没有意识到它能解决这里的问题。你能写一个解释为什么这样做的答案让我接受吗?