|
1
1
集合中所有项的所有方法的签名必须相同,以便可以互换使用它们。这意味着每个项目的关联类型也必须相同。
您可以通过为
但是,代码仍然不起作用,因为
|
|
|
2
2
只要我从你的代码中了解到,你的主要目标是在集合中添加所有的客户/参与者,并在需要时调用它的常见行为。但是由于对象安全性,不可能这样做,所以我们可以通过一点黑客(创建模仿客户的特征,我将其命名为 客户端代理 )
是的,这是这样工作的,实际上这意味着如果某个结构有一个客户端的实现,那么它也需要有actor的实现。 我们有两种背景 男演员 和 其他演员 以及它们的客户机/参与者实现。我们在客户机中有一种行为(表现得像客户机(&self))。
现在我们有了要测试的参与者,但是让我们回到问题对象安全,我们不能将这些客户机收集到单个集合中。这就是我创造的原因
现在一切就绪,我们可以测试我们的结构:
您可以从 playground (由于缺乏依赖性,它不在操场上运行) |