我有一个结果对象,它是从外部 API 中提取的 PowerShell Object[] 的集合。
目前,我使用以下 PowerShell 代码测试属性 TimeStampUtc 是否存在:
$property = $dataSet | Get-Member -Name TimeStampUtc
if($null -ne $property -and $property.Definition -match 'datetime')
{
# Process code here
}
我们正在尝试将我们的一些 PowerShell 逻辑迁移到 C# 中,以便它更具可移植性,但我不确定将结果对象传递到 C# 中的类型。
public string CreateLineChart(object[] dataSet)
{
if (dataSet.GetType().GetProperty("TimeStampUtc") != null)
{
// Process code here
}
有没有人知道传递给 C# 方法的最佳类型并且仍然能够测试属性并提取值?
是否也可以在 C# 中创建一个 PowerShell Object[] 以便我可以测试从 C# 单元测试中传递相同的值?如果我尝试传递 C# 对象,反射总是将其视为我使用 ExpandoObject 创建它的类型。
答案 0 :(得分:0)
在与我们的一些团队成员深入了解后,我们意识到在上游代码中我们创建了一个 PSObject 来存储数据。我们将更改它以使用 Dictionary