![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
В Delphi есть удобный оператор для доступа к членам объекта - оператор with.
Пример:
Пытаюсь найти аналог в C#, пока безуспешно... Помогите! -------------------- |
|||
|
||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 10 Всего: 32 |
Нету такого...
-------------------- I don't need a reason being who I am... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
В бейсике есть такая фигня. В шарпе можно объявить переменную, присвоить значение и обращаться через точку.
-------------------- ![]() |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Что-то в этом роде? -------------------- |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
-------------------- ![]() |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
mr.DUDA, спасибо!
-------------------- |
|||
|
||||
| KLUBS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 11.2.2007 Где: Спб Репутация: нет Всего: 1 |
Может:
или это совсем не то???? |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Не то! Судя по тому, что пишет Шилдт эта конструкция применима к объектам, реализующим интерфейс IDisposable и нужна для того, чтобы гарантировать вызов Dispose() при выходе из такого блока. По ходу можно применят как альтернативы try/catch/finally. Если я правильно понял...
-------------------- |
|||
|
||||
| duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: нет Всего: 4 |
||||
|
||||
| kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Ну вот читаем у Andrew Troelsen'a: При обработке, управляемых объектов, реализующих интерфейс IDisposable, вполне типичным будет использование методов структурированной обработки: исключений, чтобы гарантировать вызов метода Dispose даже при возникновении исключительных ситуаций в среде выполнения
Этот пример применения технологии "безопасного программирования" прекрасен, но реальность такова, что лишь немногие разработчики готовы мириться с перспективой помещения каждого типа, предполагающего освобождение ресурсов, в рамки блока try/catch/finally только для того, чтобы гарантировать вызов метода Dispose(). Поэтому для достижения того же результата в С# предусмотрен намного более удобный синтаксис, реализуемый с помощью ключевого слова в using.
Если с помощью ildasm.exe взглянуть на CIL-код метода Main(), то вы обнаружите, что синтаксис using на самом деле разворачивается в логику try/finally с ожидаемым вызовом Dispose (). (с) Andrew Troelsen Отсюда и вывод, что using можно применят как алтернативу try/catch/finally для объектов, реализующих IDisposable чтобы гарантировать вызов Dispose() при выходе из соответствующего блока. Так? Это сообщение отредактировал(а) kemiisto - 5.2.2008, 19:01 -------------------- |
||||||
|
|||||||
| duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: нет Всего: 4 |
kemiisto, это разные вещи, здесь finally используется для того, чтоб гарантировать освобождение ресурсов в любом случае, даже если произошла исключительная ситуация, а using это просто синтаксический наворот, который делает код более наглядным и удобным.
Согласись, что использование обработки исключений в данном случае странно смотрится, особенно если (например) ни один метод класса не может генерировать перехватываемых исключений. Это сообщение отредактировал(а) duk - 7.2.2008, 00:58 |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
duk, кажется я начинаю понимать! Спасибо, что объяснил.
-------------------- |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |