在Kotlin中使用延迟初始化和通用工厂方法进行推理

我有一个工厂方法,产生一些列表:

 inline fun  getObject(fileName: String): List 

工厂方法应该用于这样的延迟初始化:

 val points: List by lazy { ObjectFactory.getObject(pointsFileName) } 

现在,Kotlin编译器显然没有足够的lambda内的types信息和抱怨:

 Type inference failed: Not enough information to infer parameter T in inline fun  getObject(fileName: String): List Please specify it explicitly. 

编译器不考虑延迟初始化的结果将被分配的types。 我可以通过在本地提供types来解决这个问题,但这并不美观:

 val points by lazy { val pointsToCommunicateType: List = ObjectFactory.getObject(pointsFileName) pointsToCommunicateType } 

什么是正确的方法来做到这一点?

你可以像这样指定types:

 ObjectFactory.getObject(pointsFileName)