Взаимодействие между членами класса - C#

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

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

Имеем такой класс(сильно упрощенно, в одном namespace)
public class A;
public class B;
 
public class C
{
A aInstance;
B bInstance;
}
 
class Mega
{
List<C>Devices;
public void Logger(string message);
}
A и B - суть TCP клиенты (обслуживают некие сетевые девайсы) Как лучше всего организовать взаимодействие между aInstance и bInstanse, а также между элементами Devices и Logger? 1. Передавать ссылку на родителя 2. Делать статику? 3. Еще что-то? как лучше всего организовать

Решение задачи: «Взаимодействие между членами класса»

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);
}

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


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

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

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