Вы можете делать то, что вы хотите, как это:
with(CommonUtil) {
10.dp()
}
Хотя вы должны рассмотреть другие способы разработки вашей функции:
- Передача
Int
в качестве параметра, а не как получатель: CommonUtil.dp(10)
- Объявление
Int.dp()
как функции верхнего уровня, если вам не нужны данные из CommonUtil
(как в вашем случае), или если вы можете объявить эти данные как public
или internal
: 10.dp()
Если ваш объект CommonUtil
не хранит никаких данных и содержит только полезные функции, гораздо лучше избавиться от этого объекта и просто сделать все его функции верхнего уровня.
Например, ваш CommonUtil.kt
файл может выглядеть так:
fun Int.dp(): Int = (this / Resources.getSystem().displayMetrics.density).toInt()
fun Int.px(): Int = (this * Resources.getSystem().displayMetrics.density).toInt()
Таким образом, вы можете написать 10.dp()
в любом месте вашего кода.