source: Include/Classes/System/Object.ab@ 237

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

#_fullcompileで検出されたエラーの修正(明らかに判るもののみ)

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