взгляните на эту простую функцию расширения, у меня есть инфикс:
infix fun View.isValidColor(hexColor: String?): Boolean {
var isValid = true
return hexColor?.let {
try {
Color.parseColor(it)
} catch (e: Throwable) {
isValid = false
}
isValid
} ?: false
}
//notice how i have infix the extension meaning brackets are not needed, hopefully making it easier to read.
Теперь давайте посмотрим на использование и то, что я пробовал:
он не является инфиксом и следует правилу для инфикса , что:
- Должны быть функциями-членами или расширениями.
- У них должен быть один параметр.
- Параметр не должен принимать переменное количество аргументов и не должен иметь значения по умолчанию.
что я делаю не так?
UPDATE:
Я также пытался это, но он работает, явно вызывая ссылающийся класс:
, так как теперь я использую явный объект, почему он не работает? ivLogo - это синтетика ImageView от kotlin.