Class EnumBase Protected m_Value As Long Public Sub EnumBase(value As Long) m_Value=value End Sub Sub ~EnumBase() End Sub 'Abstract Function ToString() As String Sub Copy(ByRef obj As EnumBase) m_Value=obj.m_Value End Sub Function Operator() As Long Return m_Value End Function Function Operator == (Value As Long) As Boolean If m_Value = Value Then Return True Else Return False End If End Function Function Operator or (ByRef value As EnumBase) As EnumBase Return New EnumBase(m_Value Or value.m_Value) End Function Function Operator and (ByRef value As EnumBase) As EnumBase Return New EnumBase(m_Value And value.m_Value) End Function Function Operator not (ByRef value As EnumBase) As EnumBase Return New EnumBase(Not m_Value) End Function Function Operator xor (ByRef value As EnumBase) As EnumBase Return New EnumBase(m_Value Xor value.m_Value) End Function End Class