读书人

两个类通信的有关问题

发布时间: 2012-06-20 20:37:21 作者: rapoo

两个类通信的问题,在线等
现在遇到一个难题,就是两个类之间要互相主动通信,类似于网中的收包发包,而且是异步的。就是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能主动拿数据

读书人网 >C#

热点推荐