|
ObjectCollectionInitializers
|
|||
---|---|---|---|
#18+
Наткнулся в Инициализаторы объектов в блоке using Гарантии безопасности исключений на И, по сути, так оно и есть, только с небольшим уточнением: Код: c# 1. 2. 3. 4.
У Рихтера об этом ни слова. Решил проверить Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Не наблюдаю. Пусть Release и оптимизация виноваты. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Оно? Или я неправильно понимаю? Или человек нафантазировал? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 22:22 |
|
ObjectCollectionInitializers
|
|||
---|---|---|---|
#18+
newbie3732Или человек нафантазировал? не нафантазировал - фича насчёт юзинга и исключения в инициализаторе - известная. с другой стороны - ликвидация недоконструированного либо недоинициализированного объекта мало чем отличаются - забота мусоросборщика ну а объект-калеку получить можно без проблем, сохранив где либо ссылку на конструируемый/инициализируемый объект до возникновения исключения ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 23:42 |
|
ObjectCollectionInitializers
|
|||
---|---|---|---|
#18+
Я бы не называл объект, у которого рванул именно инициализатор, а не конструктор (т.е. исключение было вызвано в сеттере свойства) недоконструированным/недоинициализированным - нормальные люди обычно задают необходимый минимум для корректной инициализации объекта именно параметрами конструктора; значения свойств, задаваемые через сеттеры - опциональное состояние объекта. Если это не так (в инициализаторе через свойства задается необходимое минимальное инициализированное и корректное состояние), то автор - ССЗБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 06:31 |
|
|
start [/forum/topic.php?fid=20&fpage=83&tid=1401477]: |
0ms |
get settings: |
13ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 474ms |
0 / 0 |