我对顶点比较陌生,所以也许有人可以在这里告诉我这段代码我做错了什么。我正在尝试在创建新对象时触发触发器。我创建了一个单独的类,它将调用。
trigger LearningTriggers on le_Object__c (after insert, after update) {
if(Trigger.isAfter && (Trigger.isInsert || Trigger.isUpdate)){
TestingTrigger t = new TestingTrigger();
t.changeObject(Trigger.new, Trigger.old);
}
}
这是我用触发器代码调用的类中的方法。
public with sharing class TestingTrigger {
public void changeObject(le_Object__c[] newObj, le_Object__c[] oldObj){
//some code here
}
}
由于某种原因,这行在触发器代码“t.changeObject(Trigger.new,Trigger.old);”抛出此错误“保存错误:方法不存在或签名不正确:[TestingTrigger] .changeObject(LIST)。
看起来调用方法可能有问题,但我不确定。我知道方法的名称和调用中的参数数量是正确的。谁能告诉我这里发生了什么?有什么东西我不见了吗?
答案 0 :(得分:0)
使changeObject方法成为静态方法
public static void changeOject(list<le_object__c> newList, list<le_object__c> oldList){
}
并且你不需要在触发器中实例化类,因为该方法现在是静态的,你可以直接调用这样的方法:
TestingTrigger.changeObject(trigger.new, trigger.old);