Да, это возможно.
Описанная вами функция , как говорят, имеет два приемника , отправку приемник типа CoroutineActivity
и добавочный приемник типа CoroutineScope
.
Хотя нет синтаксиса для вызова этой функции путем непосредственного предоставления двух получателей, она может вызываться в области видимости своего типа приемника (то есть в области, где this: CoroutineActivity
).Это следующие области:
В подходящем объемеВы можете просто вызвать функцию в экземпляре CoroutineContext
.
Самый простой способ сделать это - использовать стандартные функции определения объема библиотеки run { ... }
или apply { ... }
, передав лямбду с получателем следующим образом:
coroutineActivity.run {
val onCreateScope = CoroutineScope(Dispatchers.Main + Job())
onCreateScope.onCreate(savedInstanceState)
}