我有一个 MustInherit 类,它以通用高级表示形式表示可编程泵。
然后我在这个基类中有一个 MustOverride 函数 SetupTimeProgram。
正如我从 Overrides 定义中读到的,我必须有一个“匹配签名”。此声明的签名必须与它覆盖的属性或过程的签名完全匹配。这意味着参数列表必须具有相同数量的参数、相同的顺序、相同的数据类型。”</p>
这个函数的参数是我必须传递给泵的 TimeProgram,但每个泵都有不同的方式来设置自己的时间程序。出于这个原因,我无法在高层次上定义参数的类型。
所以我在基类中做:
Public MustOverride Function SetupTimeProgram(ByRef TimeProgram As Object) As Boolean
其中 TimeProgram 被定义为通用对象。
然后在 SetupTimeProgram 的每个单独实现中,我都会执行以下操作:
实施-A
Public Overrides Function SetupTimeProgram(ByRef Program As Object) As Boolean
Return DoSomething_A (Program.Time(), Program.Steps())
End Function
实施-B
Public Overrides Function SetupTimeProgram(ByRef Program As Object) As Boolean
Return DoSomething_B (Program.Line(), Program.MaxPressure, Program.MinPressure)
End Function
换句话说,每个实现中的论点是完全不同的。
我的目标是创建一个通用的 SetupTimeProgram 方法,以便为所有泵编写相同的代码。这样,使用该类的人只应注意以正确的方式和格式传递参数。
我想知道这是否是正确的方法。