source: trunk/Include/system/enum.sbp@ 396

Last change on this file since 396 was 396, checked in by dai, 16 years ago

Foreachを試験的に実装。
ジェネリクスインターフェイスをサポートした。

File size: 1.4 KB
RevLine 
[1]1Class EnumBase
2Protected
[210]3 value As Long
[282]4 lpszName As LPTSTR
[1]5Public
[282]6 Sub EnumBase(value As Long,lpszName As LPTSTR)
[210]7 This.value = value
8 This.lpszName = lpszName
[1]9 End Sub
[282]10
[1]11 Sub ~EnumBase()
12 End Sub
13
[210]14 Override Function ToString() As String
15 Return New String( lpszName )
16 End Function
[1]17
[210]18 Sub Copy(obj As EnumBase)
19 This.value = obj.value
20 This.lpszName = obj.lpszName
[1]21 End Sub
[282]22
[396]23 Function Operator() As Int64
24 Return This.value
25 End Function
[1]26 Function Operator() As Long
[210]27 Return This.value
[1]28 End Function
[396]29 Function Operator() As DWord
30 Return This.value
31 End Function
32 Function Operator() As Boolean
33 Return ( This.value <> 0 )
34 End Function
[26]35
[210]36 Function Operator == (value As Long) As Boolean
37 If This.value = value Then
[201]38 Return True
[26]39 Else
[201]40 Return False
[26]41 End If
42 End Function
[131]43
[210]44 Function Operator == (enumBase As EnumBase) As Boolean
45 If This.value = enumBase.value Then
46 Return True
47 Else
48 Return False
49 End If
[131]50 End Function
[396]51
52 Function Operator or (enumBase As EnumBase) As Boolean
53 Return ( This.value or enumBase.value ) <> 0
[131]54 End Function
[201]55
[396]56 Function Operator and (enumBase As EnumBase) As Boolean
57 Return ( This.value and enumBase.value ) <> 0
[131]58 End Function
[396]59/*
[210]60 Function Operator xor (enumBase As EnumBase) As EnumBase
61 Return New EnumBase(This.value Xor enumBase.value)
[131]62 End Function
[288]63*/
[210]64End Class
Note: See TracBrowser for help on using the repository browser.