Переприсвоение значения переменной

 
0
 
.NET
ava
kin | 11.11.2016, 16:02
Здравствуйте Уважаемые!
Суть вопроса в следующем: по условию задачи некоторая переменная в зависимости от условий может принимать значения базового класса или производных от него.
Можно ли этот этот код считать нормальным вообще, и в частности, на предмет  отсутствия различных потерянных ссылок и всяких  там утечек памяти, и как это лучше сделать?

BaseClass _val=new BaseClass();
<... что-то делаем>
_val=new DerivedClass();
<... что-то делаем>
_val=new AnotherDerivedClass();
<... что-то делаем>
 
Ответы (2)
ava
a0730 | 13.11.2016, 18:04 #
В С# мусор убирается автоматически, поэтому можно бросать объекты.
Но там тоже есть проблемы связанные с освобождением неуправляемых ресурсов.
Например, файлы, сокеты, соединения с базами данных и т.п.
Так что, допустимость приведённого кода зависит от того, что делают классы.
ava
chupachups | 14.11.2016, 09:53 #
Для избежания проблем с освобождением ресурсов необходимо корректно реализовать интерфейс IDisposible, а если еще добавить деструктор - то вообще все в шоколаде будет
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  kin   a0730 ava  chupachups
advanced
Отправить