0

嗨,我是 Salesforce.com 平台的初学者

我写了一个 Apex 类:

public class FieldSetDemonstration {

public Resource__c merch { get; set; }

public FieldSetDemonstration() {
    this.merch = getMerchandise();
}

public List<Schema.FieldSetMember> getFields() {
    return SObjectType.Resource__c.FieldSets.Hello2.getFields();
}

private Resource__c getMerchandise() {
    String query = 'SELECT ';
    for(Schema.FieldSetMember f : this.getFields()) {
        query += f.getFieldPath() + ', ';
    }
    query += 'Id  FROM Resource__c LIMIT 1';
    System.debug('Hello world debug log');
    Resource__c res= Database.query(query);
    System.debug('Hello World Debug log'+''+res.name);
    return res;
}
}

这是visualforce页面控制器中的控制器类,提供正确的res.name值,但在调试控制台中我只得到Hello world调试日志。谁能告诉为什么它没有在调试控制台中显示 res.name 值。如何出于调试目的显示它?

4

1 回答 1

0

好的,最后我发现我必须使用 res.get('Name') 而不是在 System.debug() 中使用 res.name

公共类 FieldSetDemonstration {

公共资源__c merch { 获取;放; }

公共 FieldSetDemonstration() { this.merch = getMerchandise(); }

公共列表 getFields() { return SObjectType.Resource__c.FieldSets.Hello2.getFields(); }

private Resource_c getMerchandise() { String query = 'SELECT'; for(Schema.FieldSetMember f : this.getFields()) { query += f.getFieldPath() + ', '; } 查询 += 'Id FROM Resource _c LIMIT 1'; System.debug('Hello world 调试日志'); Resource__c res= Database.query(query); System.debug('Hello World 调试日志'+''+res.get('Name')); 返回资源;} }

这段代码工作正常

于 2012-12-03T19:03:20.723 回答