我开始学习Groovy,目前正在研究元类功能。我看到了添加新方法和删除所有方法的示例,但没有关于删除单个方法的内容。例如:
String.metaClass.foo = {delegate.toUpperCase()}
String.metaClass.bar = {delegate.toLowerCase()}
随之而来的是明显的副作用。现在我已经看到你可以说
String.metaClass = null
为了删除所有的方法,我认为可以这样说:
String.metaClass.foo = null
如何删除String.foo(),保留String.bar(),然而该语句似乎没有任何效果。是否有一种方法可以说方法foo()不再定义,而不影响bar()或其他添加的方法呢?