在C#中按名称访问PSObject属性

时间:2013-03-07 17:50:45

标签: c# powershell psobject

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

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

在我看来,在PowerShell脚本中,我们可以做到:

if $transaction.transactionName -eq tranName return $transaction.id

然而在c#中它会出错,因为它无法通过名称识别属性...任何想法如何在c#中执行?

2 个答案:

答案 0 :(得分:21)

尝试这样的事情:

psobjectvariable.Properties["transactionName"].Value

答案 1 :(得分:0)

这是我没想到的工作,但是确实可以。

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