grails如何从对象中删除属性

时间:2011-05-24 11:29:15

标签: grails groovy properties

假设我有MyClass域类:

class MyClass {
  String prop1
  String prop2
  String prop3
}

我想知道有没有办法从MyClass对象中删除例如prop1属性?

1 个答案:

答案 0 :(得分:4)

实际删除属性的唯一方法是从源文件中删除它。但是,您可以尝试访问该属性表现出与尝试访问不存在的属性相同的行为。

class MyClass {

  String prop1
  String prop2
  String prop3
}

MyClass.metaClass {
  // Intercept attempts to get the property
  getProp1 = {-> throw new MissingPropertyException("can't get prop1")}
  // Intercept attempts to set the property
  setProp1 = {throw new MissingPropertyException("can't set prop1")}
}