问题
我试图在 c# 中创建一个容器数组以作为测试结果传回 TestStand,但似乎没有一种简单的方法来完成这项任务。
动机
在 c# 中List<Dictionary<string,object>>
,我的测试系统中包含结果,我希望这些结果显示在我的测试报告中。Dictionary<string,object>
具有可变数量的不同类型的元素。
尝试的解决方案
如果给出:
var result = sequenceContext.AsPropertyObject().EvaluateEx(destination, EvaluationOptions.EvalOption_NoOptions);
在哪里
- sequenceContext 是 NationalInstruments.TestStand.Interop.API.SequenceContext
- destination 是我希望将结果保存在我的 TestStand 报告中的位置,即 Step.Result.TestResultDestination
我尝试了几种不同的方法来添加容器数组result
,例如:
var newPropertyObject = sequenceContext.Engine.NewPropertyObject(PropertyValueTypes.PropValType_Container, true, string.Empty, PropertyOptions.PropOption_InsertIfMissing);
result.SetPropertyObject("TestResultDestination", PropertyOptions.PropOption_InsertIfMissing, newPropertyObject);
result.SetFlags("TestResultDestination", PropertyOptions.PropOption_NoOptions, PropertyFlags.PropFlags_IncludeInReport | PropertyFlags.PropFlags_IsMeasurementValue);
这会将容器数组添加到我的结果中,但是任何将元素插入容器数组的尝试都会导致异常。
想法?