Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Nik Legaloff

 
Название:

Класс - результат операции

Дата: 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
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта