Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
1

Для чего нужен класс Contract? Пример кода внутри.

19.10.2011, 19:05. Показов 3364. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
Contract.Requires(windowHandle != IntPtr.Zero);
Что-то не понятно, что делает этот метод из описания на МСДН тоже ничего не понял.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2011, 19:05
Ответы с готовыми решениями:

Для чего нужен класс Activator
Подскажите пожалуйста как использования класс и в каких ситуациях его использовать? Заранее спасибо

Что такое шаблонный класс, и для чего он нужен?
Объяснительная​ пожалуйста, что такое шаблонный класс, и для чего он нужен? Никак не могу понять,...

Нужен пример кода мобильного приложения
Помогите с вопросом, должен же где-то быть, хотя бы самый простой экземпл.

Для чего нужен класс auto_ptr_ref?
Здравствуйте, можно поконкретней, для чего нужен класс auto_ptr_ref? Спасибо.

3
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
19.10.2011, 19:28 2
Контракты - это что-то вроде комбинации исключений и ассертов. Используется для диагностики и обнаружения багов в программе. Фактически метод указывает на условия правильного выполнения через методы Requires и гарантирует состояние приложения или той его части, которую он изменяет, методами Ensures.
Если знакомы с формальными методами разработки, то это примерно то же самое.
2
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
19.10.2011, 19:38  [ТС] 3
Цитата Сообщение от kolorotur Посмотреть сообщение
Если знакомы с формальными методами разработки, то это примерно то же самое.
Нет, похоже не знаком.


Цитата Сообщение от kolorotur Посмотреть сообщение
Контракты - это что-то вроде комбинации исключений и ассертов. Используется для диагностики и обнаружения багов в программе. Фактически метод указывает на условия правильного выполнения через методы Requires и гарантирует состояние приложения или той его части, которую он изменяет, методами Ensures.
А можно пример увидеть? Чтобы было понятно зачем это надо. Что-то я всё равно не полностью понял.
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
19.10.2011, 19:58 4
Цитата Сообщение от Casper-SC Посмотреть сообщение
Нет, похоже не знаком.
Погуглите, например, про Z-notation.

Цитата Сообщение от Casper-SC Посмотреть сообщение
А можно пример увидеть?
Грубо говоря, если до .NET 4 вы проверяли правильность входящих в метод данных так:
C#
1
2
3
4
5
void Foo(string str, int val)
{
   if (str == null) throw new ArgumentNullException("str");
   if (val < 0 || val > 12356) throw new ArgumentOutOfRangeException();
}
То в .NET4 рекомендуют делать так:
C#
1
2
3
4
5
void Foo(string str, int val)
{
   Contract.Requires(str != null);
   Contract.Requires(val >= 0 && val <= 12356);
}
Во время рантайма эти контракты проверяются по типу Debug.Assert и если условие не проходит, то прога либо крашится, либо выдает сообщение (настраивается).
1
19.10.2011, 19:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2011, 19:58
Помогаю со студенческими работами здесь

Не могу понять для чего нужен этот участок кода
Не могу понять что он делает !!! Так то понятно что метод FileExists поверяет директорию на наличие...

Непонятный кусчек кода, для чего он нужен.Непонятно его значение
Всем привет! Снова вопрос, как можно реализовать следующую вещь: Допустим я ввожу какой либо...

Непонятный кусчек кода, для чего он нужен.Непонятно его значение. Перезагрузка
Интересный шаблон нашел, чтобы ненужные значения сразу отбрасывать, вот только в одной части...

Описать класс "полином" - Для чего нужен конструктор по умолчанию?
неоюходимо написать класс для работы с полиномами в нете нашел что-то поожее может кто-нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru