Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.09.2016, 10:41
|
|||
---|---|---|---|
|
|||
Как корректно очистить свойство. |
|||
#18+
Здравствуйте! Столкнулся с проблемой, нужно свойство установить в null я сделал: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Вопрос не происходит ли переполнение стека? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 10:45
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
Это какое-то порно: если не пусто, то сделать пусто и затем создать новый. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 10:49
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
son456, нет. ваш код эквивалентен: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
В общем - ерунда полная... Сделайте метод... Reset/Clear/Close... добавте set, если это позволяет ваш, п Г, высокАй дизайн. Напишите сперва без извратов - просто, чтоб работало... Потом уж изгаляйтесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 10:51
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
Твой код эквивалентен такому Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 11:13
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
son456Вопрос не происходит ли переполнение стека? Чё мелочиться? Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 11:32
|
|||
---|---|---|---|
|
|||
Как корректно очистить свойство. |
|||
#18+
Можно ли как-то здесь использовать деструктор, если можно то как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 11:38
|
|||
---|---|---|---|
|
|||
Как корректно очистить свойство. |
|||
#18+
Если можно напишите что почитать чтоб избавится от такого кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 12:01
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
son456Можно ли как-то здесь использовать деструктор, если можно то как это сделать? В C# нет деструкторов, только финализаторы. Если тебе надо очистить поле при завершении работы с объектом, то это делают не в get() а прописывают интерфейс IDisposable son456Если можно напишите что почитать чтоб избавится от такого кода? Любую книгу по основам C#. Рихтера например. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 12:10
|
|||
---|---|---|---|
|
|||
Как корректно очистить свойство. |
|||
#18+
Dima TЕсли тебе надо очистить поле при завершении работы с объектом, то это делают не в get() а прописывают интерфейс IDisposable Disposable вполне может быть вызван и в геттере (да где угодно), если объект имплементит IDisposable. Другой вопрос - нужно ли здесь вообще что-то диспозить. Поскольку, как известно, IDisposable.Dispose() предназначен для освобождения неуправляемых ресурсов (а вовсе не просто для очистки полей) - а эти неуправляемые ресурсы у ТС вообще имеются? есть некий DataAccessLayer, что у которого внутри - неизвестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 12:29
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
son456Можно ли как-то здесь использовать деструктор, если можно то как это сделать? Код: c# 1. 2. 3. 4. 5. 6.
А вообще, гугли в сторону Dependency Injection и, например, Autofac ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 12:43
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
hVosttson456Можно ли как-то здесь использовать деструктор, если можно то как это сделать? Код: c# 1. 2. 3. 4. 5. 6.
А вообще, гугли в сторону Dependency Injection и, например, Autofac Кажется, с таким уровнем рановато про DI читать ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 12:46
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
PallarisКажется, с таким уровнем рановато про DI читать Дорога в тысячу ли начинается с первого шага... главное знать верное направление ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 15:41
|
|||
---|---|---|---|
Как корректно очистить свойство. |
|||
#18+
Сон Веры ПавловныПоскольку, как известно, IDisposable.Dispose() предназначен для освобождения неуправляемых ресурсов (а вовсе не просто для очистки полей) - а эти неуправляемые ресурсы у ТС вообще имеются? есть некий DataAccessLayer, что у которого внутри - неизвестно. Хм. А какого рожна IObservable<T>.Subscribe возвращает IDisposable? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2016, 16:23
|
|||
---|---|---|---|
|
|||
Как корректно очистить свойство. |
|||
#18+
ЕвгенийВСон Веры ПавловныПоскольку, как известно, IDisposable.Dispose() предназначен для освобождения неуправляемых ресурсов (а вовсе не просто для очистки полей) - а эти неуправляемые ресурсы у ТС вообще имеются? есть некий DataAccessLayer, что у которого внутри - неизвестно. Хм. А какого рожна IObservable<T>.Subscribe возвращает IDisposable? :) Сильно подозреваю, что разработчикам очень уж захотелось отписываться по выходу из using. Но идеологически такой подход неправилен, т.к. сам же талмуд и гласит , что The primary use of this interface is to release unmanaged resources. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1400324]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 173ms |
0 / 0 |