我正在设计一个 Visual Basic 应用程序,它使用我创建的一个 DLL(都在 Visual Studio 上)。在应用程序中,有一个对象实例化了一个由 DLL 定义的类。
Friend WithEvents robot As New DLL1class
该项目有新的需求,因此该对象应该能够从不同的新 DLL 实例化一个类。由于我正在设计这个新的 DLL,我想让这个更改对应用程序透明,所以我也这样做:
Friend WithEvents robot As New DLL1class
或者
Friend WithEvents robot As New DLL2class
我的想法是创建一个InterfaceIOperations
并让两个DLL实现它,所以代码上没有问题。
由于我需要在运行时实例化对象,我的问题是,我应该用哪个类创建它?
Friend WithEvents robot As ¿?¿?¿?
' ...
If xxxxx Then
robot = New DLLXClass
End If
我不想使用As Object
,因为在编程过程中您在编写时看不到函数列表,robot.
并且代码和 DLL 函数太复杂而无法接受。
有什么方法可以定义一个实现接口的对象吗?类似于这个想法的东西:
Friend WithEvents robot As ClassX "that implements IOperations"
如果您认为有更好的方法来解决这个问题,我没关系!因为我认为这可能是您提出的一个问题:是的,有必要使用 DLL,因为我们需要将它们发送给在他们自己的应用程序上使用 DLL 的外部人员。