首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用expando调用groovy方法

用expando调用groovy方法
EN

Stack Overflow用户
提问于 2016-06-20 02:11:35
回答 1查看 190关注 0票数 0

我不确定这是否可能,所以我有这样的方法

代码语言:javascript
复制
callMeMethod(String param1)

我想把这个方法叫做

代码语言:javascript
复制
param1.callMeMethod()

但是当我尝试这样做的时候我会犯一个错误

代码语言:javascript
复制
Unhandled Error: No signature of method: java.lang.String.callMeMethod() is applicable for argument types: () values: []
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 19:02:39

这是可能的,但您必须将其添加到param的metaClass (在您提供的示例中的字符串)。你能做到这一点的方法如下所示。

代码语言:javascript
复制
String.metaClass.callMeMethod = {-> println "function code can go here"}
String param1 = "meParam"
param1.callMeMethod()

output-> function code can go here

我也会看看类别

特征作为可能更合适的替代品

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37913772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档