如何在KMM中创建一个特定平台类的实例?
例如,我有下一类声明:
// commonMain
expect class MyUseCase {
operator fun invoke()
}
// androidMain
actual class MyUseCase {
actual operator fun invoke() {}
}
// iosMain
actual class MyUseCase {
actual operator fun invoke() {}
}
有没有办法在commonmain
中创建myusecase
的实例?
// commonMain
val useCase = MyUseCase() // Doesn't work
ps 必须有可能Cuz Kotlin 在创建类实例的那一刻具有有关实际实现的信息。
For example, I have the next class declarations:
// commonMain
expect class MyUseCase {
operator fun invoke()
}
// androidMain
actual class MyUseCase {
actual operator fun invoke() {}
}
// iosMain
actual class MyUseCase {
actual operator fun invoke() {}
}
Is there a way to create an instance of MyUseCase
in commonMain
?
// commonMain
val useCase = MyUseCase() // Doesn't work
P.S. It must be possible cuz Kotlin has information about actual implementations at the moment when it will create an instance of the class.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为班级添加一个构造函数:
You need to add a constructor for your class: