Есть способ наследовать что-то, что работает почти так же, как enum.Что касается использования вашего кода, это выглядит примерно так же.Хитрость заключается в том, чтобы определить класс со статическими / общими полями, а не с помощью перечисления.
Public Class InitType
Protected Sub New()
End Sub
Public Shared ReadOnly Focus As New InitType()
Public Shared ReadOnly Help As New InitType()
Public Shared ReadOnly ErrorToolTip As New InitType()
End Class
Этот синтаксис используется при использовании его в вашем классе.Вот так:
Public Class ExtendingEnums
Private m_initType As InitType = InitType.Focus
Property ToolTipInitType() As InitType
Get
Return m_initType
End Get
Set(ByVal value As InitType)
m_initType = value
End Set
End Property
End Class
Теперь, чтобы расширить «enum», вы просто сделаете это:
Public Class InitTypeEx
Inherits InitType
Public Shared ReadOnly HelpPopUp As New InitType()
End Class
Теперь вы можете получить доступ к производному enum со всеми исходными значениями плюс новым.
Public Sub Execute()
Dim ee As New ExtendingEnums()
ee.ToolTipInitType = InitType.Help
ee.ToolTipInitType = InitTypeEx.HelpPopUp
ee.ToolTipInitType = InitTypeEx.Focus
End Sub