gpt4 book ai didi

c# - 在 C# 中访问和使用 PowerShell 对象

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:02 24 4
gpt4 key购买 nike

我已经使用 C# 检索了一个 PowerShell 对象,但我不能 100% 确定我如何处理接收到的数据。我已经设法访问一级对象属性,如下所示:

foreach (PSObject workflowName in workflowNames)
{
var pSMembers = workflowName.Members;
metroTextBoxWfDescription.Text = pSMembers["Description"].Value.ToString();
}

如果“Description”是另一个对象,而我想访问该子对象怎么办?在 PowerShell 中,它就像 $psMembers.Description.Sub1.Sub2 等一样简单。如何在 C# 中实现相同的功能?

一般来说,如果有人有处理此类数据的良好初学者指南,我们将不胜感激。

编辑:这是我抓取的对象的图片。假设我想访问 DefaultAction -> Prompt -> AudioFilePrompt -> OriginalFileName,我该怎么做?在 PS 中它就像 $workflowName.DefaultAction.Prompt.AudioFilePrompt.OriginalFileName 一样简单,但类似的东西在 C# 中似乎不起作用。

PS Object

谢谢,安德鲁

最佳答案

如果您将 PowerShell 对象定义为 dynamic 类型,您只需访问属性:

foreach (dynamic workflowName in workflowNames) 
{
metroTextBoxWfDescription.Text = worflowName.Description;
}

当然,您最好弄清楚属性名称,因为编译器不会在动态类型上验证它们。

关于c# - 在 C# 中访问和使用 PowerShell 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31537238/

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