c# - 创建的对象,以便能够访问创建它的对象的成员

时间:2011-02-12 02:13:23

标签: c# inheritance object c#-2.0

这不是继承,它不是嵌套类,我不知道它是什么,这就是我带来的原因。

我正在编写一个程序,这是高级功能:

Main()创建一个'A()'类型对象的数组 'A()的构造函数创建20'B()'对象 'B()的costructor创建4'C()'对象

现在'B()'想要使用'A()'的一些公共成员 'C()'想要使用'A()'和'B()'

的一些公共成员

换句话说,A是控制记录,B是20个命令的列表,每个命令最多有4个条件。现在C()应该能够验证条件,B()应该能够执行基于C()验证的命令,A()应该知道所有B的完成时间

因此,我们的想法是某些对象会被生成,并且它们应该能够使用创建它们的对象中的成员。我可以在构造函数中传递信息,但这很乏味。有一个很好的设计能够做到这一点。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:8)

  

我可以在构造函数中传递信息,但这很乏味。

这是一种非常有效的具有此行为的方法,也是一种非常常见的模式。繁琐是最小的,特别是如果你干净地设计你的代码。它基本上将一行代码从B bInstance = new B();更改为B bInstance = new B(this);等等。

  

A()应该以某种方式知道所有B的完成时间

我建议使用事件来处理这个问题。 B可以包括每个A订阅的“已完成”事件。这将使它能够确切地知道事情何时完成。