gpt4 book ai didi

c# - 设置变量时出现逻辑错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:21 25 4
gpt4 key购买 nike

我有一个 else 循环,其中有两个方法在执行,

static private void HandleClientStateCB(string clientName, 
SPD.SPD_clientStateType state, object pb){
//IF()
else {
HandlePCAEvent(myDevice, SpoServer.PCA.Event.DeviceInactive, "");
HandlePCAEvent(myDevice, SpoServer.PCA.Event.DeviceDisconnect, "");
}
}

我的要求是每当客户端断开连接时我需要将版本设置为空。现有情况是这样的

static private void HandleClientEventCB(SPD.SPD_eventType type, 
SPD.SPD_event this_event, object passback){
//------------------
string agentVersion = "0.0.0.0";
if (this_event.variableData.Length >= 6 ){
agentVersion = this_event.variableData[5].atr_value;
}
}

所以我所做的是声明一个 bool 变量 test private static bool test = false;然后我在 else 循环中使用

static private void HandleClientStateCB(string clientName, 
SPD.SPD_clientStateType state, object pb){
//IF()
else {
HandlePCAEvent(myDevice, SpoServer.PCA.Event.DeviceInactive, "");
HandlePCAEvent(myDevice, SpoServer.PCA.Event.DeviceDisconnect, "");
test = true;
}
}

static private void HandleClientEventCB(SPD.SPD_eventType type,
SPD.SPD_event this_event, object passback){
//-------------------------------
string agentVersion = "0.0.0.0";
if (this_event.variableData.Length >= 6 && test==false ){
agentVersion = this_event.variableData[5].atr_value;
}
}

但是这个逻辑不起作用,任何人都可以建议任何其他逻辑,以便断开连接时间我的版本应该是 Null

最佳答案

设置 test = true; 时如何检查设备是否已断开连接?如果该条件在 HandleClientEventCB 函数中可用,只需再次检查它。否则您需要将 true/false 传递给 HandleClientEventCB 以了解设备是否已断开连接。

另外,您不要为 DeviceActiveDeviceInactiveDeviceConnectDeviceDisconnect 使用不同的事件。如果是,那么您可以知道是否正在为 disconnect 调用 HandleClientEventCB

关于c# - 设置变量时出现逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4457787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com