kotlin - 如何在 Kotlin 中为类中的每个函数调用自动调用函数

标签 kotlin

我有一个具有多个功能的类

class Foo() {
    fun one() {
        //do something
    }

    fun two() {
        // do something
    }

    fun three() {
        // do something
    }
}

如何触发对我拥有的 Logger 对象的调用,以便在日志中我可以看到所有被访问或调用的函数,而无需显式地对每个函数进行日志调用以保持代码整洁。我试图保留服务 api 调用中调用的所有函数的完整日志跟踪,但我不希望有这样的东西

class Foo() {
    fun one() {
        log.call()
        //do something
    }

    fun two() {
        log.call()
        // do something
    }

    fun three() {
        log.call()
        // do something
    }
}

最佳答案

您无法在普通的 Kotlin 中做到这一点。但这正是那种事情Aspect-Oriented Programming用于。

我自己没用过,但如果你想在 Kotlin 中使用它,你可以看看 Spring AOP .另见讨论 herethis问题。

关于kotlin - 如何在 Kotlin 中为类中的每个函数调用自动调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57067432/

相关文章:

android - 如何使imageView脱离屏幕[Kotlin]

android - 可空接收器类型 bundle 的不安全使用? android 应用程序将在编译时出现警告但立即崩溃

android - 如何将字体样式添加到TextView Android Kotlin

android - 同时运行多个测试时测试失败

Kotlin 异步与启动

android - 将回调 hell 转换为延迟对象

kotlin - 两个构造函数有什么不同?

android - 从 MutableList<Int> 初始化 Array<Int>

kotlin - kotlin REPL 有代码补全吗?

java - 创建 gradle 插件时将生成的 java 或 kotlin 源代码放在哪里?