gpt4 book ai didi

c# - 如何从另一个 cmdlet 正确调用 cmdlet?

转载 作者:行者123 更新时间:2023-11-30 12:10:51 24 4
gpt4 key购买 nike

我编写了许多 cmdlet。我目前正在处理的那个我想调用我的其他 cmdlet。我正在尝试这样:

//Calling cmdlet
protected override void ProcessRecord()
{
Cmdlet1 _cmdlet1 = new Cmdlet1();
_cmdlet1.configFilePath = this.configFilePath; //set a few parameters the cmdlet will need
_cmdlet1.useConfigFile = true; //and one more
_cmdlet1.Invoke();

Cmdlet2 _cmdlet2 = new Cmdlet2();
_cmdlet2.configFilePath = this.configFilePath; //set a few parameters again
_cmdlet2.useConfigFile = true; //one more
_cmdlet2.Invoke();
}

但是,当我从 powershell 运行“调用 cmdlet”时,没有任何反应。没有错误,我在其他 cmdlet 中编写的代码都没有运行。 Cmdlet1Cmdlet2 中有许多 WriteObject 调用,如果这些 cmdlet 确实在运行,我不应该看到这些吗?尽管我应该提到,这显然不是我检查以验证它们是否被成功调用的唯一内容。

最佳答案

您使用 WriteObject 编写的对象将通过 Invoke() 方法调用返回。迭代该调用的结果以从 cmdlet 调用中获取单个对象,例如:

foreach (var result in _cmdlet1.Invoke())
{
...
}

查看此 MSDN topic了解更多详情。

关于c# - 如何从另一个 cmdlet 正确调用 cmdlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com