【发布时间】:2009-08-06 09:33:43
【问题描述】:
我有一个树形结构
A -> B -> D -> Y
-> C -> X
-> X
我想对 X 类的所有对象或 D 类的所有 children 对象进行操作(例如)。我想从树中的任何节点调用开始这个操作(即递归)。
例如,
A.SetupDecorators();
(虽然我愿意接受建议)
所有类都继承自超类。
在不使用反射的情况下,有没有很好的 OO 解决方案?
首选 C#。
【问题讨论】:
我有一个树形结构
A -> B -> D -> Y
-> C -> X
-> X
我想对 X 类的所有对象或 D 类的所有 children 对象进行操作(例如)。我想从树中的任何节点调用开始这个操作(即递归)。
例如,
A.SetupDecorators();
(虽然我愿意接受建议)
所有类都继承自超类。
在不使用反射的情况下,有没有很好的 OO 解决方案?
首选 C#。
【问题讨论】:
试试Visitor Design Pattern 和 C# 中的示例代码
【讨论】: