在c#中通过名称访问PSObject属性

本文关键字:访问 PSObject 属性 | 更新日期: 2023-09-27 18:02:53

例如,我有一个PSObject事务与两个属性:id和transactionName,所以它看起来像:事务{id: 123transactionName: tranName1}

,我想返回事务的id,如果它的名称是tranName1。

在我看来,在powershell脚本中,我们可以简单地做:

if $transaction.transactionName -eq tranName return $transaction.id
然而,在c#中,它会给出错误,因为它不能通过名称识别属性…有什么想法在c#中实现吗?

在c#中通过名称访问PSObject属性

试试这样:

psobjectvariable.Properties["transactionName"].Value

这是我没想到会成功的事情,但是它成功了。

dynamic x = psobjectvariable;
Console.Write(x.transactionName);