Ale*_*lex 2 .net vb.net variables module
在我的项目中,我有几个模块,都使用相同的Subs.我使用的每个模块用于不同品牌的RFID读卡器,因为访问方法和读卡器输出不同,但遵循完全相同的步骤.在我的应用程序中,我想对这些步骤进行泛型调用,但是有一个应用程序设置确定要从中调用它的模块,以防止必须将所有调用项目更改为项目.我想做的事情如下:
Public CARD_READER_MODULE As ModMTI 'Which doesn't work
Run Code Online (Sandbox Code Playgroud)
然后
CARD_READER_MODULE.Connect()
... etc
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法吗?
对于您所描述的设计,您应该使用接口来描述要使用的方法,然后在每个类型的设备的新类中实现此接口.
例如,您的界面如下所示:
Public Interface IDevice
Sub Connect()
End Interface
Run Code Online (Sandbox Code Playgroud)
然后为每个具有每个设备特定实现的设备创建一个类:
Public Class DeviceType1
Implements IDevice
Public Sub Connect() Implements IDevice.Connect
'connect to this type of device here
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
这种设计的优点在于您可以定义Type'IDevice'的变量,然后将其实例化为特定类型:
Dim dev As IDevice
dev = New DeviceType1
dev.Connect()
Run Code Online (Sandbox Code Playgroud)