![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| LLlaMaH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.6.2007 Репутация: нет Всего: нет |
я попробую пояснить суть вопроса:
есть препроцессорный набор: #define DEBUG #if (DEBUG) MessageBox.Show("TEST"); #else MessageBox.Show("OK"); #endif если переменная DEBUG объявлена то сработает ТЕСТ а если не объявлена то сработает ОК меня интересует возможно ли сделать что то аналогичное в шарпе с помощью (не знаю правильного термина, ну это такие штуки которые в квадратных скобках ставятся перед классом или переменной) что бы при выборе типа сборки Debug или Release у меня допустим в итоговую сборку не попадали некоторые функции используемые мной для отладки. для примера приведу некорректную строку =) [что_то_нужное] bool TestClass() { } мне нуно чтобы эта функция не попала в релизовую сборку.. Это сообщение отредактировал(а) LLlaMaH - 25.1.2008, 11:08 |
|||
|
||||
| PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
LLlaMaH, если правильно понял, вот здесь - то, что нужно - аттрибут Conditional.
-------------------- Ушел с форума и не вернулся. |
|||
|
||||
| LLlaMaH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.6.2007 Репутация: нет Всего: нет |
нет...это немного не то....по ссылке описание того что я написал....про #define
а меня интересует (я узнал как это называется) атрибут класса. например у меня отладочный класс для nunit, в нем есть метод:
Перед методом стоит атрибут [Test] для того чтобы NUnit могла тестировать сборку. Меня интересует аттрибут который нужно поставить перед методом и он вкомпилировлскя в сборку в зависимости от режима компиляции Debug или Release. И вообще возможно ли такое? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
PPS05 правильно сказал про атрибут Conditional. Это "как раз-таки то".
Если скомпилировать в режиме Debug, прога выдаст только первую строку. В Release только вторую. То есть вызовы методов просто будут игнорироваться, если не определена константа указанная в атрибуте над методом. Так как по умолчанию константа препроцессора RELEASE не добавляется, нужно добавить её вручную. Окно свойств проекта, закладка Build, написать слово RELEASE в поле Conditional compilation symbols. -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |