Grails 获取集合成员的类型/类

Grails 获取集合成员的类型/类,grails,groovy,Grails,Groovy,grails项目中的My class User.groovy包含以下集合 Set<GlobalRole> globalRoles static hasMany = [globalRoles: GlobalRole] 在其中一个编辑视图中,我向用户显示以下选择 from="${com.path.classification.GlobalRole?.values()}" 这很好用。 但是:这需要是动态的,并且需要使用各种枚举。他们都在 com.path.classification

grails项目中的My class User.groovy包含以下集合

Set<GlobalRole> globalRoles
static hasMany = [globalRoles: GlobalRole]
在其中一个编辑视图中,我向用户显示以下选择

from="${com.path.classification.GlobalRole?.values()}"
这很好用。 但是:这需要是动态的,并且需要使用各种枚举。他们都在

com.path.classification
乙二醇

我唯一可用的是hosting类here用户的成员,例如:

${domainInstance}?.${property.name}
这将生成Set user.globalRoles

我的问题是:有没有一种方法可以通过访问包含枚举值的集合来扣除枚举值

e、 g.有什么东西妨碍了这项工作

user.globalRoles.elements.class 
要能够动态生成源?

找到了一个解决方案:

${userInstance?.domainClass.getPropertyByName('mySetName').getReferencedPropertyType().values()}
获取所有可能枚举值的列表。

为什么不尝试user.globalRoles.iterator.next.class?
user.globalRoles.elements.class 
${userInstance?.domainClass.getPropertyByName('mySetName').getReferencedPropertyType().values()}