Как я могу вывести PscustomObject из скомпилированного командлета?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу вывести PscustomObject из скомпилированного командлета?

Сообщение Anonymous »

У меня есть скомпилированный cmdlet , который работает с Hashtable s. Я хотел бы написать [pscustomOmobject] хэштата в трубопровод. В блоке сценария PowerShell, который будет выполнен с использованием следующего состава: < /p>

Код: Выделить всё

[pscustomobject]$hashtable
Я хотел бы сделать то же самое из скомпилированного Cmdlet . Естественная реализация будет < /p>

Код: Выделить всё

using System.Collections;
using System.Management.Automation;

[Cmdlet(VerbsData.Out,"PsCustomObject")]
public class OutPsCustomObjectCommand : PSCmdlet {
[Parameter(Mandatory = true)]
public Hashtable Hashtable { get; set; }
protected override void ProcessRecord() {
WriteObject(new PSCustomObject(Hashtable));
}
}
Тем не менее, pscustomobject не имеет общедоступного конструктора.
Я думал, что новый psobject () может быть эквивалентным, но writebject (new psobject (hashtable) достаточно отличается от [pscustomobject] $. Консоль: < /p>

Код: Выделить всё

PS\> Out-PsCustomObject -Hashtable @{ a='aye' }
Name                           Value
----                           -----
a                              aye

PS\> [pscustomobject]@{ a = 'aye' }
a
-
aye
Как я могу вывести pscustomobject из скомпилированного cmdlet ?

Подробнее здесь: https://stackoverflow.com/questions/794 ... led-cmdlet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»