相关疑难解决方法(0)

Groovy Mixin on Instance(Dynamic Mixin)

我正在努力实现以下目标:

class A {
  def foo() { "foo" }
}

class B {
  def bar() { "bar" }
}

A.mixin B
def a = new A()

a.foo() + a.bar()
Run Code Online (Sandbox Code Playgroud)

有一个显着的区别 - 我想在实例上做mixin:

a.mixin B
Run Code Online (Sandbox Code Playgroud)

但这会导致

groovy.lang.MissingMethodException: No signature of method: A.mixin() is applicable for argument types: (java.lang.Class) values: [class B]
Run Code Online (Sandbox Code Playgroud)

有没有办法像Groovy Mixins JSR中提出的那样工作?

groovy dynamic instance mixins

6
推荐指数
1
解决办法
2113
查看次数

标签 统计

dynamic ×1

groovy ×1

instance ×1

mixins ×1