2011-11-16 81 views
0

以下是我在我的文件導入枚舉到Visual Basic類,使之成爲可繼承

Option Strict On 
Imports MyNameSpace.MyEnum 

Public Class AwesomeClass 

    Public Function Foo (ByVal Bar As MyEnum) As Object 
     'Do Something 
     Return Nothing 
    End Function 

End Class 

我想要做的是這樣的:

Option Strict On 

Public Class SubAwesomeClass 
    Inherits AwesomeClass 

    Public Function Zazz (ByVal Bar As MyEnum) As Object 
     'Do Something 
     Return Nothing 
    End Function  

End Class 

但由於MyEnum ISN在子類中定義它將不起作用。我不太瞭解這些類型的東西被稱爲什麼,但我認爲我導入了類型的類型定義。由於我是導入,而不是定義,它只在第一個文件中可用。基本上,我想將MyEnum作爲課程的一部分,但我不知道如何去做。我不想複製/粘貼它,而且我也不想在所有子類的頂部寫入Imports ...。

還有其他的選擇嗎?

回答

1

Enum與繼承樹無關。只需在子類中使用「Imports MyNameSpace.MyEnum」即可。

+0

那很可能是正確的解決方案,但有沒有其他辦法?還有很多其他代碼依賴於存在'MyEnum'作爲'AwesomeClass'的成員,並且在我使用導入時也會中斷所有代碼。 – peterw

0

簡單地把公共聲明的枚舉在Awesome類中。

1

您還可以更改的參數類型定義是完全合格的:

Public Function Foo (ByVal Bar As MyNameSpace.MyEnum) As Object 

Public Function Zazz (ByVal Bar As MyNameSpace.MyEnum) As Object