定义一个返回结果类型的类[原创] [小例子]
工作中,因为有好多的返回结果,而且都有着不同的结果和意义,于是就用了数据字典来定义了部分。
详见代码。其中只列出了部分类型。
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![]()
5
namespace AFC.BOM.Constants.Prompt
6
{
7
/// <summary>
8
/// ACC 认证返回结果 后四位 (LLLL代码)类型定义
9
/// </summary>
10
public class ACCValidateLastResult
11
{
12
private static Dictionary<int,string> accValidateLastResult = new Dictionary<int,string>();
13![]()
14
/// <summary>
15
/// 私有构造函数,以防止创建该类的实例
16
/// </summary>
17
private ACCValidateLastResult()
18
{
19
}
20![]()
21
/// <summary>
22
/// 类的构造函数,在类(而不是实例)首次使用时调用,且在类的生命周期中仅调用一次
23
/// </summary>
24
static ACCValidateLastResult()
25
{
26
if (!InitACCValidateLastResult())
27
throw new Exception();
28
}
29![]()
30
/// <summary>
31
/// 初始化各种操作结果对应的中文信息
32
/// </summary>
33
/// <returns></returns>
34
private static bool InitACCValidateLastResult()
35
{
36
try
37
{
38
/*
39
* LLLL代码含义 LLLL 说明
40
* */
41
accValidateLastResult.Add(0, "认证成功!");
42
accValidateLastResult.Add(5, "等待超时!");
43
accValidateLastResult.Add(0x6283,"选择文件无效,文件或密钥校验错误,可能不是一票通sam卡!");
44
accValidateLastResult.Add(0x6581,"写EEPROM不成功 ");
45
accValidateLastResult.Add(0x6983,"密钥被锁死!");
46
accValidateLastResult.Add(0x9302,"MAC错误!");
47
accValidateLastResult.Add(0x9403,"密钥未找到!");
48
accValidateLastResult.Add(0x9406,"所需MAC不可用!");
49
accValidateLastResult.Add(0xFEFC,"网络收发超时!");
50
accValidateLastResult.Add(0xFEFB,"Sam卡已列入黑名单!");
51
accValidateLastResult.Add(0xFEFA,"Sam卡不存在!");
52
}
53
catch
54
{
55
return false;
56
}
57![]()
58
return true;
59
}
60![]()
61
/// <summary>
62
/// 通过索引来返回错误提示信息
63
/// </summary>
64
/// <param name="index">错误索引</param>
65
/// <returns></returns>
66
public static string GetaccValidateLastResultInfo(int index)
67
{
68
try
69
{
70
if (accValidateLastResult.ContainsKey(index))
71
return accValidateLastResult[index];
72
}
73
catch
74
{}
75
return "其他错误(" + index.ToString("X4") + ")!";
76
}
77
}
78
}
79![]()
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace AFC.BOM.Constants.Prompt6
{7
/// <summary>8
/// ACC 认证返回结果 后四位 (LLLL代码)类型定义9
/// </summary>10
public class ACCValidateLastResult11
{12
private static Dictionary<int,string> accValidateLastResult = new Dictionary<int,string>();13

14
/// <summary>15
/// 私有构造函数,以防止创建该类的实例16
/// </summary>17
private ACCValidateLastResult()18
{ 19
}20

21
/// <summary>22
/// 类的构造函数,在类(而不是实例)首次使用时调用,且在类的生命周期中仅调用一次23
/// </summary>24
static ACCValidateLastResult()25
{26
if (!InitACCValidateLastResult())27
throw new Exception();28
}29

30
/// <summary>31
/// 初始化各种操作结果对应的中文信息32
/// </summary>33
/// <returns></returns>34
private static bool InitACCValidateLastResult()35
{36
try37
{38
/*39
* LLLL代码含义 LLLL 说明 40
* */41
accValidateLastResult.Add(0, "认证成功!");42
accValidateLastResult.Add(5, "等待超时!");43
accValidateLastResult.Add(0x6283,"选择文件无效,文件或密钥校验错误,可能不是一票通sam卡!");44
accValidateLastResult.Add(0x6581,"写EEPROM不成功 "); 45
accValidateLastResult.Add(0x6983,"密钥被锁死!");46
accValidateLastResult.Add(0x9302,"MAC错误!");47
accValidateLastResult.Add(0x9403,"密钥未找到!");48
accValidateLastResult.Add(0x9406,"所需MAC不可用!");49
accValidateLastResult.Add(0xFEFC,"网络收发超时!"); 50
accValidateLastResult.Add(0xFEFB,"Sam卡已列入黑名单!");51
accValidateLastResult.Add(0xFEFA,"Sam卡不存在!");52
}53
catch54
{55
return false;56
}57

58
return true;59
}60

61
/// <summary>62
/// 通过索引来返回错误提示信息63
/// </summary>64
/// <param name="index">错误索引</param>65
/// <returns></returns>66
public static string GetaccValidateLastResultInfo(int index)67
{68
try69
{70
if (accValidateLastResult.ContainsKey(index))71
return accValidateLastResult[index]; 72
}73
catch74
{}75
return "其他错误(" + index.ToString("X4") + ")!";76
}77
}78
}79



浙公网安备 33010602011771号