4

我在 Salesforce 托管包中编写了一个 Apex 类,它使用apex-lang库包的托管版本:

global class MySorter implements al.Objectcomparator

我正在考虑通过将 apex-lang 与我的包一起分发来消除对托管包的依赖。安装了非托管版本的 apex-lang 后,我尝试更改我的课程:

global class MySorter implements Objectcomparator

尝试保存时,出现错误:

错误:编译错误:必须维护所需的类关系:MySorter 在第 1 行第 8 列实现 al.ObjectComparator[Previous Managed]

为什么会有这样的限制?关于绕过它的任何想法?

4

1 回答 1

5

该限制是为了阻止您使用包之外的代码更改合同。可能有来自您的包外部的此代码的调用者(因为您将其标记为全局),它们依赖于它实现 al.ObjectComparator 接口,如果您进行了您想要的更改,您将在他们升级时破坏该代码.

于 2012-04-06T18:45:24.933 回答