c#: не отписал обработчик, а объект тютю
От: Аноним  
Дата: 22.01.14 09:57
Оценка:
class A
{
  event E;
}

class B
{
  handler H;
}

void main()
{
  cA = new A;

  {
    cB = new B;

    cA.E += B.H;

  }

  A.FireEventE();

}


Если B пришёл конец (вышли из области видимости, скажем), а отписку от события не вызвали, то на последней строке что может нехорошего произойти?
Re: c#: не отписал обработчик, а объект тютю
От: Mihas  
Дата: 22.01.14 09:59
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Если B пришёл конец (вышли из области видимости, скажем), а отписку от события не вызвали, то на последней строке что может нехорошего произойти?

Да ни чего. Экземпляр будет болтаться в памяти. Хэндлер дернется.
Re: c#: не отписал обработчик, а объект тютю
От: vvlad.net  
Дата: 22.01.14 10:07
Оценка: +2
Здравствуйте, Аноним, Вы писали:

А>Если B пришёл конец (вышли из области видимости, скажем), а отписку от события не вызвали, то на последней строке что может нехорошего произойти?


B не пришел конец, и он не вышел из зоны видимости, так как A его видит.
Re[2]: c#: не отписал обработчик, а объект тютю
От: Аноним  
Дата: 22.01.14 10:14
Оценка:
Здравствуйте, Mihas, Вы писали:

M>Здравствуйте, Аноним, Вы писали:



А>>Если B пришёл конец (вышли из области видимости, скажем), а отписку от события не вызвали, то на последней строке что может нехорошего произойти?

M>Да ни чего. Экземпляр будет болтаться в памяти. Хэндлер дернется.

Славненько
Re[3]: c#: не отписал обработчик, а объект тютю
От: vvlad.net  
Дата: 22.01.14 10:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Mihas, Вы писали:


M>>Здравствуйте, Аноним, Вы писали:



А>>>Если B пришёл конец (вышли из области видимости, скажем), а отписку от события не вызвали, то на последней строке что может нехорошего произойти?

M>>Да ни чего. Экземпляр будет болтаться в памяти. Хэндлер дернется.

А>Славненько


Ага, утечки памяти — это так забавно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.