, , Anko. : , inline , parseRow .
private inline fun <T> getObjectListFromCursor(cursor: Cursor, parseRow: (Cursor) -> T): List<T> {
return cursor.run {
mutableListOf<T>().also { list ->
if (moveToFirst()) {
do {
list.add(parseRow(this))
} while (moveToNext())
}
close()
}
}
}
:
val list = getObjectListFromCursor(c, this::getStringFromCursor)