构造具有大量非常相似函数的C#类

时间:2013-12-12 23:36:36

标签: c# oop data-structures

我目前正在尝试为微处理器实现C#库(通过串口进行通信)。微处理器具有可写入的大量字段,所有字段都具有某种识别名称(例如,ChargingVoltage)。我正在使用的协议涉及发送字段的十六进制值,然后发送更新的数据。数据的长度及其所代表的类型因字段而异。

目前我的班级有100个左右的功能,看起来像

public void ChargingVoltage(UInt16 chargingVoltage)
{
  _device.SendData
    (
      EField.ChargingVoltage,
      BitConverter.GetBytes(chargingVoltage)
    );
}

其中BitConverter.GetBytes()是用于将Uint16转换为Byte[]的函数,但是当数据类型是字符串或某种位域时,此函数会有所不同。

函数名始终与enum成员的名称相同,该成员对应于字段的十六进制值,ChargingVoltage()始终发送EField.ChargingVoltage,在发送时转换为0x15

我使用visual studio宏来编写所有这些函数定义的事实告诉我,编写这个类可能有更好的方法,我只是不知道它是什么。任何帮助,将不胜感激。我希望我也没有把这个问题定得过于具体!

编辑:此库可能还需要从微处理器接收更新并存储接收到的ChargingVoltage值,我根本无法使用这些功能。

0 个答案:

没有答案