Kotlin 中的自定义隐式转换

问题描述 投票:0回答:1

在 C# 中,我可以为我的类创建自己的隐式转换,如下所示...

public static implicit operator TypeYouWantToChangeTo (ClassYouAreChanging c)  
{ 
    TypeYouWantToChangeTo x;
    //convert c to x
    return x;
}

如何使一个类能够隐式转换为另一个类?另外,在 C# 中,我可以将隐式更改为显式,以创建手动转换的功能。你如何在 Kotlin 中实现这一点?

kotlin
1个回答
0
投票

Kotlin 中不存在隐式转换。进行转换最常用的约定是创建一个名为

toX()
的函数,其中
X
是要转换为的类型。

例如这样:

fun ClassYouAreChanging.toTypeYouWantToChangeTo(): TypeYouWantToChangeTo { 
    //convert this to x
    return x;
}

如果转换只是强制转换,则惯例是将方法命名为

asX()

© www.soinside.com 2019 - 2024. All rights reserved.