А еще можно так... :)
От: Streamer1 Украина  
Дата: 03.10.06 22:02
Оценка:
Здравствуйте, <Аноним>, Вы писали:

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


А>>>Если класс, от событий которого надо отписаться, разрабатываешь ты сам и не страшно добавить в него некоторую для этого функциональность (судя А>>по-примерам, такое возможно), то почему бы не сделать так:


А>Точно! можно же просто занулить событие.. !

А>а я все от с++ и дельфи не могу отойти.. если создал — то нужно обязательно удалить.

а можно еще так:
using System;
using System.Diagnostics;

class Program
{
  static void Main(string[] args) 
  {
    Test t = new Test();
    t.Event += delegate { Console.WriteLine("Test Handler!"); };
    t.FireEvent();
    t.ClearEvent();
    t.FireEvent();
  }
}

class Test
{
  public event EventHandler Event;

  internal void FireEvent() 
  {
    if(Event != null) 
    {
      Event(this, EventArgs.Empty);
    }//if
  }

  internal void ClearEvent() 
  {
    foreach(EventHandler eh in Event.GetInvocationList())
       Event -= eh;
  }
}
Тот кто знает не говорит, тот кто говорит не знает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.