salesforce - Apex 错误 - 尝试访问记录值时变量不存在
问题描述
试图访问传递给我的方法的记录的值。调试显示记录中的值,但是当我尝试引用它们时,我得到“变量不存在”错误。
这是一个片段:
public static void method1(list<billing__c> passBillings){
list<billing__c> bills = passBillings;
for (list<billing__c> newbills : bills){
if (newbills.balance__c > 1){
system.debug('has balance');
}
}
}
我希望能够使用余额继续执行 if 语句,但出现此错误:变量不存在:balance__c
解决方案
您的代码混淆了 aList<Billing__c>
和 a Billing__c
。sObject 有一个属性Balance__c
;列表没有。
public static void method1(list<billing__c> passBillings){
list<billing__c> bills = passBillings;
你不需要bills
。它只是同一对象实例的新名称。
for (list<billing__c> newbills : bills){
bills
是 a List<Billing__c>
,所以如果你在迭代它,你的迭代变量newbills
需要是 type Billing__c
。这使得它的名字相当混乱。我建议只是做
for (Billing__c bill : bills){
if (bill.balance__c > 1){
进行这些更改后,您的 Apex 将编译。
推荐阅读
- scala - 向左折叠以创建不可变列表
- port - 为什么说“TCP端口”?
- haskell - Haskell 书 让语法混乱(参数重新分配)
- angular - 如何设置认证路由
- android - 异常:java.lang.SecurityException
- java - AspectJ 如何覆盖通知
- python - 如何在python中用几行编写长算术表达式?
- c++ - 二进制 '==': 没有找到接受类型为 'std::pair 的左手操作数的运算符
' - php - 在我的终端错误中运行 PHPUNIT:“.php”和“.php”都无法打开
- python - 在尝试钻石形状问题时,Python 中发生了什么事与 OOP