OperationResult.cs
3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System;
using System.ComponentModel;
using System.Security.Authentication;
namespace Quiz.Models
{
/// <summary>
/// 业务操作结果信息类,对操作结果进行封装
/// </summary>
public class OperationResult : OperationResult<object>
{
#region 构造函数
/// <summary>
/// 初始化一个<see cref="OperationResult"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status)
: this(status, null, null)
{ }
/// <summary>
/// 初始化一个<see cref="OperationResult"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status, object message)
: this(status, message, null)
{ }
/// <summary>
/// 初始化一个<see cref="OperationResult"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status, object message, object data)
: base(status, message, data)
{ }
#endregion
}
/// <summary>
/// 泛型版本的业务操作结果信息类,对操作结果进行封装
/// </summary>
/// <typeparam name="T">返回数据的类型</typeparam>
public class OperationResult<T>
{
/// <summary>
/// 初始化一个<see cref="OperationResult{T}"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status)
: this(status, null, default(T))
{ }
/// <summary>
/// 初始化一个<see cref="OperationResult{T}"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status, object message)
: this(status, message, default(T))
{ }
/// <summary>
/// 初始化一个<see cref="OperationResult{T}"/>类型的新实例
/// </summary>
public OperationResult(OperationResultType status, object message, T data)
{
Status = status;
Message = message;
Data = data;
}
/// <summary>
/// 获取或设置 操作结果类型
/// </summary>
public OperationResultType Status { get; set; }
/// <summary>
/// 获取或设置 操作返回消息
/// </summary>
public object Message { get; set; }
/// <summary>
/// 获取或设置 操作返回数据
/// </summary>
public T Data { get; set; }
}
/// <summary>
/// 表示业务操作结果的枚举
/// </summary>
public enum OperationResultType
{
/// <summary>
/// 操作引发错误,引发<see cref="Exception"/>异常
/// </summary>
[Description("操作引发错误。")]
Error = 0,
/// <summary>
/// 操作成功
/// </summary>
[Description("操作成功。")]
Success = 1,
/// <summary>
/// 无效操作,引发<see cref="InvalidOperationException"/>异常
/// </summary>
[Description("无效操作。")]
InvalidOperation = 2,
/// <summary>
/// 输入信息验证失败,引发<see cref="ArgumentException"/>, <see cref="FormatException"/>异常
/// </summary>
[Description("输入信息验证失败。")]
ValidError = 3,
/// <summary>
/// 无效认证,引发<see cref="AuthenticationException"/>异常
/// </summary>
[Description("无效认证。")]
InvalidAuthorize = 4,
}
}