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