Взаимодействие между членами класса - C#
Формулировка задачи:
Имеем такой класс(сильно упрощенно, в одном namespace)
A и B - суть TCP клиенты (обслуживают некие сетевые девайсы)
Как лучше всего организовать взаимодействие между aInstance и bInstanse, а также между элементами Devices и Logger?
1. Передавать ссылку на родителя
2. Делать статику?
3. Еще что-то?
как лучше всего организовать
public class A; public class B; public class C { A aInstance; B bInstance; } class Mega { List<C>Devices; public void Logger(string message); }
Решение задачи: «Взаимодействие между членами класса»
textual
Листинг программы
public delegate void SomeHandler(object sender, string message); public class A { public event SomeHandler Changed; public void Some(string message) { if(Changed!=null) Changed(this, message); } } public class B; { public event SomeHandler Changed; public void Some(string message) { if(Changed!=null) Changed(this, message); } } public class C { public event SomeHandler ChildChanged; public void Child_Changed(object sender, string message) { if(ChildChanged!=null) ChildChanged(sender, message); } A aInstance = new A(); aInstance.Changed += Changed; B bInstance = new B(); bInstance .Changed += Changed; } class Mega { List<C>Devices; public void Logger(string message); C currC= new C(); currC.ChildChanged+=(sndr, msg)=>Console.WriteLine(sndr +": "+msg); Devices.Add(currC); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д