PowerShell с Csom ClientContext Castto метод
Как мне поставить этот C# CSOM в powershell
TaxonomyField taxonomyField = clientContext.CastTo (field);
Я пытался: $taxonomyField = $clientContext.CastTo[Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]
но не работает.
3 ответа
Потратил на это целый день. Надеюсь, кто-то найдет это полезным! Это связано с вызовом универсальных методов (в любое время, когда вы видите вызов функции) в powershell. Я сжал его до одной строки, потому что мне это нравится.
Кроме того, $global:ctx - это просто мой объект контекста клиента.
$txField = [Microsoft.SharePoint.Client.ClientContext].GetMethod("CastTo").MakeGenericMethod([Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]).Invoke($global:ctx, $field)
Начните с обычного поля CSOM SharePoint, которое представляет поле управляемых метаданных.
$field = [Microsoft.SharePoint.Client.Field]$someFieldFromItemListOrContentType;
Приведение поля непосредственно к типу таксономии будет нулевым.
$taxonomyField = [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$field;
Кастинг TypedObject
свойство в поле таксономии не будет нулевым.
$taxonomyField = [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$field.TypedObject;
[Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$taxonomyField
Это работает?
У меня нет доступа к SharePoint, но так можно выполнять приведение в PowerShell.
PS C:\> $taxField = 10
PS C:\> [String]$taxField
10