jjzjj

ReconcileTips

全部标签

c# - 在C#中使用 'dynamic'实现访客模式

我有一个应用程序,我在其中对一系列元素执行操作,操作的确切性质取决于所操作元素的类型。由于封装的原因,不宜由元素来实现操作;这意味着它不能是元素类型的虚拟方法,因此“标准”多态性不起作用。我提出了previousquestion与此相关,并被告知这被称为访问者模式。我以前总是根据对象的类型使用if/elseif调度程序方法来实现它,然后调用适当的实现。然而,最近,我注意到使用dynamic关键字也可以完成同样的事情,如下所示:privatevoidReconcileTips(){foreach(varstepin_definition.Steps){ReconcileTips((dyn