两个类通信的问题,在线等
现在遇到一个难题,就是两个类之间要互相主动通信,类似于网中的收包发包,而且是异步的。就是A->B同时B->A.
想了很久,各条路上都遇到了麻烦
1、通过委托方式,A中初始化了B解决了单向主动通信,但是反过来则不行
2、建立了第三方中间类C,A,B中都实例化了C,但是参数传递遇到问题,如何将C的对象c如何通过构造函数传递到AB中,
并赋值给AB中的某个private C 的成员,甚是不解。
请达人指教!!谢谢!!
[解决办法]
设计模式多么的重要啊。
观察者模式可以实现广播通知的效果。
如果单纯的是2个类,彼此都提供一个使用对方来创建对象的方式就可以了。
比如,简单的这样做。
- C# code
public class A{ public B inner = null; public A(B other) { inner = other; other.inner = this; } public A()//也需要一个无参的 { }}public clBss B{ public A inner = null; public B(A other) { inner = other; other.inner = this; } public B()//也需要一个无参的 { }}使用A o1 = new A();B o2 = new B(o1);
[解决办法]
使用静态c ,实例化应该有点问题吧,只能是c来做数据传递? 如果静态c ,a和b能主动拿数据