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

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

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

Есть класс записи в файл, писать необходимо из экземпляров _a, _b, но из этих экземпляров нет доступа к экземпляру log3, приходиться создавать в каждом классе свои экземпляры log1 и log2 - что не есть правильно мне так кажется, как правильно все таки сделать посоветуйте пожалуйста?
Листинг программы
  1. public delegate void LOGHandler(TypeLog a, string mes);
  2. class A
  3. {
  4. event LOGHandler LogEvent;
  5. public void SaveLOG(TypeLog type, string mes)
  6. {
  7. if (LogEvent == null)
  8. {
  9. LOGING log1 = new LOGING();
  10. LogEvent += new LOGHandler(log1.LOGevent);
  11. }
  12. LogEvent(type, mes);
  13. }
  14. }
  15. class B
  16. {
  17. event LOGHandler LogEvent;
  18. public void SaveLOG(TypeLog type, string mes)
  19. {
  20. if (LogEvent == null)
  21. {
  22. LOGING log2 = new LOGING();
  23. LogEvent += new LOGHandler(log2.LOGevent);
  24. }
  25. LogEvent(type, mes);
  26. }
  27. }
  28. class MAIN
  29. {
  30. A _a; B _b;
  31. LOGING log3 = new LOGING();
  32. }
  33. class LOGING
  34. {
  35. public void LOGevent(TypeLog type, string mes)
  36. {
  37. //код записи в файл
  38. }
  39. }

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

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

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


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

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

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы