我知道的唯一方法是遍历对象存储的属性模板,并通过将符号名称与一些字符串进行比较来找到我需要的模板:
String propertySymName = "someName";
ObjectStore os = Factory.ObjectStore.fetchInstance(...); //assume object store is fetched correctly
String[] properties = {PropertyNames.PROPERTY_TEMPLATES};
os.fetchProperties(properties);
PropertyTemplateSet propertyTemplates = os.get_PropertyTemplates();
Iterator<?> iterator = propertyTemplates.iterator();
while (iterator.hasNext()) {
PropertyTemplate propertyTemplate = (PropertyTemplate) iterator.next();
String[] arg = {PropertyNames.SYMBOLIC_NAME};
propertyTemplate.refresh(arg);
if (propertyTemplate.get_SymbolicName().equals(propertySymName)) {
//do some stuff
}
}
但是如果对象存储有大量的属性模板,它可能会相当慢。有任何想法吗?我正在使用 CE API 5.1