课程章节介绍
那我们今天来聊一个比较细节但特别实用的知识点,就是当我们要把一个 SDF 文件里的元素名称,转成 Apex 里能用的变量名时,系统是怎么自动处理的。
你看,SDF 文件里有些元素的命名,可能不太符合 Apex 变量名的规则,比如开头是数字、里面含有特殊符号。那这时候 Salesforce 会自动帮你做一些转换,让它变成一个合法的 Apex 变量名。
这个转换规则其实很贴心,我们一条一条来看。
首先,如果元素名称的第一个字符不是字母,那它会在最前面给你加一个“x”。比如你有一个元素叫 “123Data”,它开头是数字,那转换后的变量名就会变成 “x123Data”。
那如果反过来,是最后一个字符在 Apex 变量名里不允许用呢?系统就会在结尾补一个“x”。比如结尾是连字符或者其他不允许的符号,它就会给你加个“x”收尾。
接着,如果元素名称中间包含了一些 Apex 不允许的字符,那么这些字符都会被替换成下划线。这样就能保证名字的剩余部分都是合法的。
还有一个比较特殊的情况:要是元素名称里,刚好有连续两个不允许的字符挨在一起,那系统会怎么处理呢?如果是简单地把它们都变成下划线,就会变成两个下划线连在一起,这种双下划线在变量名里看起来很奇怪,而且也不是很规范。所以为了避免出现双下划线,它会把第一个不允许的字符替换成下划线,而第二个替换成 “x”。这样一来,就不会有连续的 __ 出现了。
最后还有一个要注意的点,就是如果经过自动转换之后,不同的元素得到了完全一样的变量名,那系统就没法区分了。这种情况下,就需要我们手动去修改其中一个,让它们变得不一样。
所以总结一下,就是在自动生成 Apex 变量名时,开头非字母加 “x”,结尾不允许的字符加 “x”,中间不允许的字符变下划线,连续两个不允许的字符分别变成下划线和 “x”,重名了还要手动调整。这些规则记住了,以后处理 SDF 映射就轻松多了。
关键词
Apex
Salesforce
Developer Guide