我解码来自设备的响应并获得不同的值。这些值可以变化:1,2或3种数据类型(double,int或string)和混合。例如。对于命令X,我得到1个字符串,对于命令Y我得到1个字符串和2个双回,...
我现在用于响应的(简化)类:
public class DecodedResponse
{
public CommandEnum command;
public double ReturnValueD1;
public double ReturnValueD2;
public double ReturnValueD3;
public string ReturnValueS1;
public string ReturnValueS2;
public string ReturnValueS3;
public int ReturnValueI1;
public int ReturnValueI2;
public int ReturnValueI3;
}
到目前为止,用户必须知道为命令X,Y,...设置了哪些值。 但我对此并不满意。什么是一个聪明的解决方案,告诉用户设置了哪些值?
答案 0 :(得分:2)
我知道您会针对特定请求获得每个回复 - 您知道您应该期待什么回复。
我会为每个命令响应创建单独的类,只有这些对此命令有效的字段/属性。使用一个,如您所述的简化类会导致您所描述的问题,并且需要许多if
语句才能正确处理命令。