2011-05-24 41 views
2

删除属性假设我有MyClass的领域类:的Grails如何从对象

class MyClass { 
    String prop1 
    String prop2 
    String prop3 
} 

我不知道有没有什么办法删除从MyClass的对象例如为prop1属性?

回答

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")} 
}