如何在salesforce apex类中调用参数化方法

如何在salesforce apex类中调用参数化方法,salesforce,apex,Salesforce,Apex,大家好! 我是Salesforce的初学者。我试图在Salesforce Apex类中使用enum,但遇到了编译器错误。实际上,我使用了带有List返回类型的参数化方法 我试图调用此方法,但出现如下错误:- 方法不存在或签名不正确:中的void enumEX() 类型EnumClassEx 我不明白如何解决这个问题并调用参数化方法 如果你们能帮我解决这个问题,我将不胜感激。 谢谢你的帮助:) 顶点类是:- public class EnumClassEx { public enum

大家好! 我是Salesforce的初学者。我试图在Salesforce Apex类中使用
enum
,但遇到了编译器错误。实际上,我使用了带有
List
返回类型的参数化方法

我试图调用此方法,但出现如下错误:-

方法不存在或签名不正确:中的void enumEX() 类型EnumClassEx

我不明白如何解决这个问题并调用参数化方法

如果你们能帮我解决这个问题,我将不胜感激。 谢谢你的帮助:)

顶点类是:-

public class EnumClassEx 
{

    public enum Relationship_Status {Married,Single,Committed}
    public enum SLA {SILVER,GOLD}
    public EnumClassEx()
    {
        List<Relationship_Status> status= Relationship_Status.values();
        System.debug('Relationship Status is=='+status);
        System.debug('Relationship Status value index is=='+Relationship_Status.Committed.ordinal());
        System.debug('Relationship Status name is==' +Relationship_Status.Single.name()); 
    }
     public static List<Account> enumEX(SLA sla)
       {
        if(EnumClassEx.SLA.SILVER == sla)
          {
            return [SELECT ID FROM Account WHERE SLA__c= 'SILVER'];
           }
        else if(EnumClassEx.SLA.GOLD == sla)
           {
            return [SELECT ID FROM Account WHERE SLA__c= 'GOLD'];
           }
        else
          {
            return null;
          }            
    }
}
公共类EnumClassEx
{
公共枚举关系_状态{已婚、单身、承诺}
公共枚举SLA{银、金}
公共EnumClassEx()
{
列表状态=关系_status.values();
System.debug('关系状态为=='+状态);
System.debug('Relationship Status value index为=='+Relationship_Status.Committed.ordinal());
System.debug('Relationship Status name=='+Relationship_Status.Single.name());
}
公共静态列表enumEX(SLA)
{
if(EnumClassEx.SLA.SILVER==SLA)
{
return[从SLA_uuc='SILVER'所在的帐户中选择ID];
}
else if(EnumClassEx.SLA.GOLD==SLA)
{
return[从SLA_uuc='GOLD'所在的帐户中选择ID];
}
其他的
{
返回null;
}            
}
}

您必须像这样调用该方法

EnumClassEx.enumEX(EnumClassEx.SLA.SILVER);

我这样打电话…但它不起作用@Gareth JordanI在上面创建了您的类,并运行了我建议封装在调试语句System.debug(EnumClassEx.enumEX(EnumClassEx.SLA.SILVER))中的代码;并得到以下响应:13:14:19:012用户_DEBUG[1]| DEBUG |(帐户:{Id=00141000005ybfyae},帐户:{Id=00141000005yBfzAAE},帐户:{Id=00141000005yBg0AAE})你确定你有数据来匹配你正在运行的查询吗?非常感谢@Gareth Jordan:)现在代码正在运行…是的,我有数据也在匹配..你能解释一下你为什么这样调用吗?你的enumEX方法是一个静态方法,所以你不需要实例化类来调用它,所以它被称为EnumClassEx.enumEX(…)。对于参数,它采用SLA enum,但该enum位于EnumClassEx类内部,因此它有点像命名空间,因此必须将枚举视为内部类,因此在您的情况下,它将是OuterClass.enum.EnumOption(EnumClassEx.SLA.SILVER)