为什么不能更改Salesforce托管包中的类关系?

时间:2012-04-06 17:54:38

标签: salesforce apex-code force.com

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

global class MySorter implements al.Objectcomparator

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

global class MySorter implements Objectcomparator

尝试保存时,出现错误:

  

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

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

1 个答案:

答案 0 :(得分:5)

限制措施是为了阻止您使用包裹之外的代码更改合同。这个代码的调用者可能来自你的包之外(因为你把它标记为全局),依赖于它实现al.ObjectComparator接口,如果你做了你想做的改变,你会在升级时破坏它们的代码