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);
本文探讨了在C#编程中如何解决由out参数引起的命名冲突问题,通过使用不同的变量名或直接作为引用传递来避免冲突。
2385

被折叠的 条评论
为什么被折叠?



