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

Last change on this file since 233 was 232, checked in by dai, 17 years ago

32bitコンパイラを更新(64bit版はしばらくお待ちください)
Importsステートメントを試験導入(スコープレベルでの使用はまだできません)。
グローバル変数、定数、クラス、グローバル関数に対してNamespaceの適用を可能にした。
ObjPtr関数を導入。
Mathクラスの構文ミスを修正。

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