gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:24:53 25 4
gpt4 key购买 nike

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

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

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

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

换句话说,A是控制记录,B是20个命令的列表,每个命令最多有4个条件。现在 C() 应该能够验证条件,B() 应该能够根据 C() 的验证执行命令,并且 A() 应该以某种方式知道所有 B 何时完成

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

有人能帮忙吗??

最佳答案

I could pass information in the constructor but that gets tedious.

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

A() should somehow know when all B's are done

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

关于c# - 创建的对象能够访问创建它的对象的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com