source: trunk/ab5.0/ablib/src/Classes/System/Object.ab@ 634

Last change on this file since 634 was 634, checked in by イグトランス (egtra), 16 years ago

#202 Compare/CompareOrdinal完了

File size: 1.6 KB
Line 
1
2Namespace System
3
4 Class Object
5
6 Public
7
8 Sub Object()
9 End Sub
10 Sub ~Object()
11 End Sub
12
13 ' 2つのオブジェクトが等しいかどうかを判断する
14 Virtual Function Equals( object As Object ) As Boolean
15 Return ObjPtr(This) = ObjPtr(object)
16 End Function
17
18 Static Function Equals( objectA As Object, objectB As Object ) As Boolean
19 If ActiveBasic.IsNothing(objectA) Then
20 Return ActiveBasic.IsNothing(objectB)
21 Else
22 Return objectA.Equals(objectB)
23 End If
24 End Function
25
26 ' 参照先が等しいか判断する
27 Static Function ReferenceEquals(objectA As Object, objectB As Object) As Boolean
28 If ObjPtr( objectA ) = ObjPtr( objectB) Then
29 Return True
30 Else
31 Return False
32 End If
33 End Function
34
35 ' ハッシュコードを取得する
36 Virtual Function GetHashCode() As Long
37 Return ObjPtr( This ) As Long
38 End Function
39
40 ' オブジェクトに関係する文字列を返す
41 Virtual Function ToString() As String
42 Return GetType().Name
43 End Function
44
45 /*
46 Function Operator Downcast() As VoidPtr
47 End Function
48 */
49
50
51 '----------------------------------------------------------------
52 ' 実行時型情報
53 '----------------------------------------------------------------
54
55 Private
56 _system_object_member_typeInfo As TypeInfo
57
58 Public
59 Sub _System_SetType( typeInfo As TypeInfo )
60 If ActiveBasic.Core._System_TypeBase.IsReady() = False Then
61 Return
62 End If
63
64 This._system_object_member_typeInfo = typeInfo
65 End Sub
66
67 Virtual Function GetType() As TypeInfo
68 Return _system_object_member_typeInfo
69 End Function
70
71 End Class
72
73End Namespace
Note: See TracBrowser for help on using the repository browser.