我是 C# 新手,如果我的一些概念有偏差,请原谅我。我正在使用佳能 EDSDK,为了让生活更轻松,我希望能够将错误消息视为文本而不是十六进制值。EDSDK.cs 文件包含一长串错误,例如:
public const uint EDS_ERR_TAKE_PICTURE_CARD_NG = 0x00008D07;
public const uint EDS_ERR_TAKE_PICTURE_CARD_PROTECT_NG = 0x00008D08;
理想情况下,我想将所有这些都放入某种查找表中,这样我就可以输入 HEX 错误代码并将实际消息作为字符串返回。例如
Hashtable EDSDKErrorCodes = new Hashtable();
EDSDKErrorCodes.Add("0x00008D01", "EDS_ERR_TAKE_PICTURE_AF_NG");
EDSDKErrorCodes.Add("0x00008D08", "EDS_ERR_TAKE_PICTURE_CARD_PROTECT_NG");
etc etc...
稍后在我的代码中,我可以获取从 EDSDK 方法之一返回的错误消息,并以人类可读的形式显示它:
errorcode= EDSDK.EdsInitializeSDK();
MessageBox.Show(Convert.ToString(EDSDKErrorCodes[errorcode]));
我的问题是..这是处理所有这些错误代码的好方法,还是人们会推荐一种更好、更有效的方法?如果是这样,我如何将我的哈希表填充为一系列常量,而不必使用 Add 方法?