reflection - 类方法的 noSuchMethod(又名静态方法)

标签 reflection static dart

我使用 dart 已经有一段时间了。如果我想为一个类的对象实现动态的 getter、setter 和函数,我可以使用 noSuchMethod 方法。但是如果我现在想在class层有这样一个动态的getter,setter方法怎么办?例如,在 Ruby 中,如果要实现动态类方法,可以在类对象上定义 method_missing 方法,例如:

class Test
    def self.method_missing
        //Do some matching, return result or error
    end
end

我如何在 Dart 中实现这一点?

最佳答案

我不认为你可以在没有镜子/反射的情况下在 Dart 中做到这一点。

我也觉得这个用处不大。
您不能在“动态”类型上调用静态方法,因此您不能模拟静态方法。

如果你需要这个,你应该把它变成一个普通的方法而不是一个静态的。

关于reflection - 类方法的 noSuchMethod(又名静态方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23624989/

相关文章:

c++ - 在 C++11 中使用静态变量是否有惩罚

java - 我可以在 UI 线程之外使用 getFilesDir

flutter - 使用 Navigator.push (MaterialPageRoute) 而不是 AlertDialog

ios - 如何在 swift(反射/镜像)中动态找到属性的类型?

java - 调用反射方法时 Android 中的 SecurityException

c# - 扩展 SqlException 并向其添加属性

flutter - 如何等待功能完成?

java - 仅检索在 Java 类中声明的静态字段

java - 如何将 java.lang.reflect.Type 转换为枚举?

flutter - Dart/Flutter super (key:key)示例