2011-11-16 75 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