Организация событий между классами - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс записи в файл, писать необходимо из экземпляров _a, _b, но из этих экземпляров нет доступа к экземпляру log3, приходиться создавать в каждом классе свои экземпляры log1 и log2 - что не есть правильно мне так кажется, как правильно все таки сделать посоветуйте пожалуйста?
 public delegate void LOGHandler(TypeLog a, string mes);
class A
{  
   event LOGHandler LogEvent;
        public void SaveLOG(TypeLog type, string mes)
        {
                if (LogEvent == null)
                {
                LOGING log1 = new LOGING();
                    LogEvent += new LOGHandler(log1.LOGevent);
                }
                LogEvent(type, mes);
        }
}
 
class B
{
event LOGHandler LogEvent;
        public void SaveLOG(TypeLog type, string mes)
        {
                if (LogEvent == null)
                {
                LOGING log2 = new LOGING();
                    LogEvent += new LOGHandler(log2.LOGevent);
                }
                LogEvent(type, mes);
        }
 
}
 
class MAIN
{
  A _a;  B _b;   
  LOGING log3 = new LOGING();
}
 
class LOGING
{
  public void LOGevent(TypeLog type, string mes)
  {
  //код записи в файл
  }
}

Решение задачи: «Организация событий между классами»

textual
Листинг программы
public static void RiseEvent(object sender)
        {
            MyEvent?.Invoke(sender, EventArgs.Empty);
        }
 
.....
 
MyClass.RiseEvent(something); //rise from everywhere

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы