2016-09-09 2 views
0

Я конвертирую коды получателей событий в приемник удаленных событий, используя контекст клиента SharePoint 2013.Каков наилучший способ получить свойство для типа содержимого с ближайшим совпадением с использованием клиентского контекста (CSOM)?

var documentList = clientContext.Web.GetList(Constants.DocumentsListUrl); 
var classifiedContentTypeId = documentList.ContentTypes.BestMatch(new 
SPContentTypeId("0x0120D52000155C54BB8DF04DE78D5F78461B236DEF")); 
var classifiedContentType = 
documentList.ContentTypes[classifiedContentTypeId]; 

Обратите внимание, что если поиск находит два совпадения, возвращается более короткий идентификатор. Например, если 0x0101 является аргументом, и коллекция содержит как 0x010109, так и 0x01010901, метод возвращает 0x010109.

List.ContentTypes.BestMatch метод доступен, чтобы получить самое близкое соответствие в SSOM. Каков правильный метод в CSOM? Заранее спасибо

ответ

0

Одна идея состоит в том, чтобы использовать метод

ContentType.Id.IsChildOf() 

, а затем использовать строковые методы, чтобы выбрать самый короткий Guid?

+0

Благодарим за предложение, isChildof недоступно в CSOM Есть ли у вас какие-либо логики, чтобы получить кратчайший GUID из коллекции? – kalimuthu

+0

Вы можете получить дочерние типы контента с помощью простого метода «содержит». Типы содержимого ребенка всегда содержат идентификатор родительского типа контента. Таким образом, используя содержащиеся и сравнивающие длины, вы можете обойти это отсутствие других методов. Не лучшее решение, но вы должны быть в порядке – Verthosa

Смежные вопросы