public static void getDCPowerSession(
SequenceContext sequenceContext,
string [] pinNames,
out NIDCPower [] dcPowerSessions
out string [] channelNames)
{
try
{
codeModualAPI.ISemiconductorModuleContext tsmContext = GetTSMContext(sequenceContext);
tsmContext.GetNIDCPowerSessions(pinNames, out NIDCPower[] dcPowerSessions, out string[] channelString);
}
catch (Exception e)
{
throw new Exception("Get DCPower sessions failed" + e.Message);
}
}
dcPowerSessions作为getDCPowerSession的out参数,应该类似于引用的工作方式,从C++的语法上看,将其传给GETNIDCPowerSessions的参数没问题,但实际情况是,out后跟着参数类型相当于自己重新创建了一个该名字的变量,因此产生了该范围内的命名冲突,解决方法是用一个新的名字。
tsmContext.GetNIDCPowerSessions(pinNames, out NIDCPower[] sessions, out string[] channelString);
dcPowerSessions = sessions;
channelNames = channelString;
另一种解决方案是直接当引用
tsmContext.GetNIDCPowerSessions(pinNames, out dcPowerSessions, out channelNames);