|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
Класс - результат операции |
|
Дата:
|
21 September 2005 |
|
Описание: |
Очень часто удобно неоторые действия инкапсулировать в отдельный класс - операцию. А вот результат этой операции зачастую можно описать предложенным классом.
Ну и в догонку ещё и интерфейс самой операции. |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=165]Класс - результат операции[/CODEPOST] |
| Оценка: |
Проголосовало 3 посетителей, средняя оценка 3.00 |
| Оценить: |
|
1 public class OperationResult
2 {
3 public static OperationResult SuccessData(object data)
4 {
5 OperationResult result = Success;
6 result.Data=data;
7 return result;
8 }
9
10 public static OperationResult FallData(object data)
11 {
12 OperationResult result = Fall;
13 result.Data=data;
14 return result;
15 }
16
17 public static OperationResult Success
18 {
19 get
20 {
21 return new OperationResult(true);
22 }
23 }
24
25 public static OperationResult Fall
26 {
27 get
28 {
29 return new OperationResult(false);
30 }
31 }
32
33 public static bool operator ==(OperationResult a, OperationResult b)
34 {
35 return a.resultCode==b.resultCode;
36 }
37 public static bool operator !=(OperationResult a, OperationResult b)
38 {
39 return a.resultCode!=b.resultCode;
40 }
41
42 int resultCode=0;
43 string description="";
44 object data;
45
46 public object Data
47 {
48 get { return data; }
49 set { data = value; }
50 }
51
52 public OperationResult(int resultCode, string description)
53 {
54 this.resultCode = resultCode;
55 description = description;
56 }
57
58 public OperationResult(int resultCode)
59 {
60 this.resultCode = resultCode;
61 description=resultCode==0 ? "" : "Неизвестная ошибка";
62 }
63
64 public OperationResult(bool ok)
65 {
66 resultCode=ok? 0 : -1;
67 description=ok? "" : "Неизвестная ошибка";
68 }
69
70 public bool OK
71 {
72 get { return resultCode==0; }
73 }
74 public int ResultCode
75 {
76 get { return resultCode; }
77 set { resultCode = value; }
78 }
79
80 public string Description
81 {
82 get { return description; }
83 set { description = value; }
84 }
85 }
86
87 public interface IOperation
88 {
89 OperationResult Execute();
90 } |
| Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET |
|
|
 |
 |
 |
 |
|
|