SPFields сами являются полями, а SPFieldLinks являются ссылками на поля. Это хорошая статья, которая подробно объяснит все вещи . В общей практике безопаснее использовать SPFieldLinks, когда вы работаете с фактическим определением типа контента . Тем не менее, я дам краткое резюме здесь.
Списки и веб-сайты содержат фактические поля с полевыми данными. С другой стороны, тип содержимого содержит только ссылку на поле, которая просто указывает на соответствующее поле в списке или в Интернете. Это немного сбивает с толку, потому что типы контента имеют как SPFieldLinkCollection, так и SPFieldCollection.
SPFieldLinkCollection используется в фактическом определении типа контента и является тем, что вы хотели бы использовать в вашей ситуации при копировании типа контента из одной сети в другую. SPFieldLinks соответствуют фактическим элементам в схеме XML для типа контента.
Для сравнения, когда вы вызываете SPFieldCollection типа контента и извлекаете из него поле, на самом деле происходит то, что тип контента проверяет ссылку на соответствующее поле, а затем просматривает список / сеть, чтобы получить фактическое поле , По сути, думайте о SPFieldCollection так же, как работает поиск: он бесполезен без значения поиска и источника поиска.