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
Line 
1Class EnumBase
2Protected
3 value As Long
4 lpszName As LPTSTR
5Public
6 Sub EnumBase(value As Long,lpszName As LPTSTR)
7 This.value = value
8 This.lpszName = lpszName
9 End Sub
10
11 Sub ~EnumBase()
12 End Sub
13
14 Override Function ToString() As String
15 Return New String( lpszName )
16 End Function
17
18 Sub Copy(obj As EnumBase)
19 This.value = obj.value
20 This.lpszName = obj.lpszName
21 End Sub
22
23 Function Operator() As Int64
24 Return This.value
25 End Function
26 Function Operator() As Long
27 Return This.value
28 End Function
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
35
36 Function Operator == (value As Long) As Boolean
37 If This.value = value Then
38 Return True
39 Else
40 Return False
41 End If
42 End Function
43
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
50 End Function
51
52 Function Operator or (enumBase As EnumBase) As Boolean
53 Return ( This.value or enumBase.value ) <> 0
54 End Function
55
56 Function Operator and (enumBase As EnumBase) As Boolean
57 Return ( This.value and enumBase.value ) <> 0
58 End Function
59/*
60 Function Operator xor (enumBase As EnumBase) As EnumBase
61 Return New EnumBase(This.value Xor enumBase.value)
62 End Function
63*/
64End Class
Note: See TracBrowser for help on using the repository browser.