System.Management.Automation 中的 PSCommand 与 PowerShell

问题描述 投票:0回答:1

来自PSCommand类的定义

定义可与 PowerShell 对象一起使用的 PowerShell 命令/脚本对象。

PowerShell 类的定义

表示针对运行空间(池)执行的 PowerShell 命令或脚本(如果提供),否则使用默认运行空间执行。提供对不同结果缓冲区的访问,例如输出、错误、调试、详细、进度、警告和信息。

除了缓冲区之外,两者之间还有什么区别。两者都存在似乎是多余的,所以我想知道为什么我会使用其中一个而不是另一个。

c# powershell oop
1个回答
0
投票

PSCommand
PowerShell
类的一部分,它不是您将手动实例化的类,或者我想不出您想要手动实例化它的地方。此类在 .Commands
 实例的 
PowerShell
 属性
中实例化,并表示当您调用其
*Invoke()
方法时实例将调用的命令或脚本的集合。

此外,

.Commands
通常不是您将直接与之交互的属性,因为
PowerShell
类具有包装其
PSCommand
成员的API,请参阅
PowerShell.cs#L975-L1496
。除
Add*
之外,所有
_psCommand.Commands
方法都会将调用定向到
.Clear()

© www.soinside.com 2019 - 2024. All rights reserved.