我有一个Base64Util类,其中包括一个扩展功能decodeBase64ToByteArray
:
class Base64Util {
companion object {
fun String.decodeBase64ToByteArray(): ByteArray {
return Base64.getUrlDecoder().decode(this)
}
}
}
现在,我想通过Base64Util
测试我的Base64IUtilTest
。我当然可以访问非扩展功能,但是如何从String.decodeBase64ToByteArray()
访问/测试Base64UtilTest
?
答案 0 :(得分:3)
您不能仅从外部访问成员扩展功能,例如decodeBase64ToByteArray
。仅当进入对象的定义范围时,这才可能:
with(Base64Util.Companion){ //.Companion could be removed
"123fsad123".decodeBase64ToByteArray()
}
例如,在文件base64Utils.kt
中将util函数定义为顶级函数可能很有意义。这样,可以以静态方式调用它们,而不会出现任何问题。