目前我正在使用 Groovy 1.8.2,以下代码按预期对我有用:
Class.metaClass.getAt = { args ->
println "Called ${delegate}[${args}]"
TypeDefinition.create(delegate, args)
}
我在我的 DSL 中使用它,如图所示:
TypeDefinition instance = List[MyOwnClass]
当我迁移到 Groovy 2.0.5 时,此功能因“缺少方法:带有参数 some.package.MyOwnClass 的静态 java.util.List.getAt()”而失败。所以问题是我怎样才能让它与 Groovy 2 一起工作?