Это потому, что apply
, also
, run
, runCatching
, takeIf
и takeUnless
являются расширениями, когда with
является функцией с 2 параметрами. Здесь хорошая статья об этом.
Вы можете использовать with
следующим образом:
with(editText) {
//your code
}
Но вы не можете позвонить with
, как вы пыталисьсделать это:
editText.with() //compilation error
Обновление : with
Функция предназначена для более простого вызова методов объекта, вам не нужно писать что-то вроде этого:
someObject.a();
someObject.b();
someObject.c();
//etc
Когда вы используете with
, вы можете написать это так:
with(someObject) {
a();
b();
c();
//etc
}