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方法?
解决方法 你可以使用枚举.public enum ErrorCodes : uint{ EDS_ERR_TAKE_PICTURE_CARD_NG = 0x00008D07,EDS_ERR_TAKE_PICTURE_CARD_PROTECT_NG = 0x00008D08}
然后您的用法可能如下所示:
ErrorCodes error = (ErrorCodes)EDSDK.EdsInitializeSDK();MessageBox.Show(Enum.Getname(typeof(ErrorCodes),error));总结
以上是内存溢出为你收集整理的有关在C#中构建错误代码的建议全部内容,希望文章能够帮你解决有关在C#中构建错误代码的建议所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)