如何在一个继承类中为一个变量声明为该类所实现的接口之一的类型时使该类的属性可用?VB.Net和通过接口类型的变量访问
我到目前为止所做的工作是用关键字MustInherit创建抽象类MyAbstract
,并在继承类MyInheritingClass
中添加了继承,然后添加了抽象类的名称。现在,这一切都很好,但在我的继承类中,如果我在该类上创建了一个接口并在代码的其他地方使用该接口,那么我发现我无法从我的抽象类中看到用该界面。
我在这里做错了什么,或者有什么我需要做的吗?
一个例子是如下:
Public MustInherit Class MyAbstract
Private _myString as String
Public Property CommonString as String
Get
Return _myString
End Get
Set (value as String)
_myString = value
End Set
End Property
End Class
Public Class MyInheritingClass
Inherits MyAbstract
Implements MyInterface
Sub MySub(myParameter As MyInterface)
myParameter.CommonString = "abc" ' compiler error - CommonString is not a member of MyInterface.
End Sub
'Other properties and methods go here!'
End Class
所以,这是我在做什么,但是当我使用MyInterface
,我看不到我的抽象类的属性!
一个简单的例子将有助于说明您的问题 –
请参阅编辑! – Andy5
我假设你打算把'Implements MyInterface'或'Implements IMyInheritingClass'而不是'Implements MyInheritingClass'。一个类不能实现一个类 - 它只能实现一个接口。当然,一个班级无法实现所有的东西:) –