Как я могу вывести 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

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