Vb.net-从父类调用子方法(Vb.net多态性)
我是Vb.net的新手,我尝试执行多态性 这是我的界面“IMyConnection” 在Main类中,我创建了一个这样的新实例Vb.net-从父类调用子方法(Vb.net多态性),vb.net,polymorphism,Vb.net,Polymorphism,我是Vb.net的新手,我尝试执行多态性 这是我的界面“IMyConnection” 在Main类中,我创建了一个这样的新实例 Dim connection As IMyConnection connection = New AccessConnection() Dim accessConnection As AccessConnection = connection accessConnection.setDataSource("D:\Access DB\mdb\Akademik.mdb")
Dim connection As IMyConnection
connection = New AccessConnection()
Dim accessConnection As AccessConnection = connection
accessConnection.setDataSource("D:\Access DB\mdb\Akademik.mdb")
但是当我调用一个从不在IMyConnection中声明的函数时
Imports System.Data.Common
Interface IMyConnection
Sub openConnection()
Sub closeConnection()
Function getConnection() As DbConnection
Function executeQuery(ByVal querySelect As String) As DbCommand
Function executeUpdate(ByVal queryUpdate As String) As Boolean
End Interface
connection.setDataSource("D:\Access DB\mdb\Akademik.mdb")
我收到错误信息
'setDataSource' is not a member of 'WindowsApplication1.IMyConnection'
为了处理这个错误,我创建了这样的新对象
Dim connection As IMyConnection
connection = New AccessConnection()
Dim accessConnection As AccessConnection = connection
accessConnection.setDataSource("D:\Access DB\mdb\Akademik.mdb")
请帮我解决这个问题,我找不到任何关键字来找到更好的解决方案
谢谢接口IMyConnection不知道setDataSource方法。这就是它不起作用的原因。您可以通过使用Ctype/Directcast将接口强制转换为AccessConnection类型来解决这个问题。谢谢,我在vb中找到了一些关于强制转换类型的示例,这段代码也可以使用。。Dim accessConnection As accessConnection=CType(connection,accessConnection)accessConnection.setDataSource(“D:\Access DB\mdb\Akademik.mdb”)接口IMyConnection不知道setDataSource方法。这就是它不起作用的原因。您可以通过使用Ctype/Directcast将接口强制转换为AccessConnection类型来解决这个问题。谢谢,我在vb中找到了一些关于强制转换类型的示例,这段代码也可以使用。。Dim accessConnection As accessConnection=CType(connection,accessConnection)accessConnection.setDataSource(“D:\Access DB\mdb\Akademik.mdb”)