如何在一個繼承類中爲一個變量聲明爲該類所實現的接口之一的類型時使該類的屬性可用?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'。一個類不能實現一個類 - 它只能實現一個接口。當然,一個班級無法實現所有的東西:) –