Организация событий между классами - 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