Организация событий между классами - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д