通用对象调用正确方法

时间:2019-02-06 23:42:49

标签: c#

概述:我正在编写一个试图分为3层的测试程序。顶层是我正在运行的测试,它包含要运行的状态机(所有设备的顺序都相同)。第二层是设备层,它具有特定于该设备的所有命令。所有设备都具有相同的命令,但是语法可以不同。

问题:如何通用设置设备类型并调用正确的命令?我有classDevice1和classDevice2。它们都具有.cmd1()方法。在顶层(测试层)中,我想获取一个对象并将其设置为= classDevice1。因此,在测试代码中,我可以一般地调用object.cmd1(),它将从classDevice1调用它。

enter image description here

编辑:我希望我的顶层是通用的。例如,它将称为object.cmd1()。对象可以是我拥有的N个类之一,它们都具有cmd1()方法。如何声明指向类的泛型对象?

1 个答案:

答案 0 :(得分:0)

Statergy模式。 Here是一个代码示例。

enter image description here