Last change
on this file since 681 was 658, checked in by イグトランス (egtra), 16 years ago |
New式でステップインしたときにステップ数を減らすためReferenceEqualsの修正
|
File size:
1.6 KB
|
Line | |
---|
1 |
|
---|
2 | Namespace System
|
---|
3 |
|
---|
4 | Class Object
|
---|
5 |
|
---|
6 | Public
|
---|
7 |
|
---|
8 | Sub Object()
|
---|
9 | End Sub
|
---|
10 | Sub ~Object()
|
---|
11 | End Sub
|
---|
12 |
|
---|
13 | /*
|
---|
14 | @brief 2つのオブジェクトが等しいかどうかを判断する。
|
---|
15 | 標準の実装はReferenceEqualsを用いて参照の等価を判断基準としている。
|
---|
16 | */
|
---|
17 | Virtual Function Equals( object As Object ) As Boolean
|
---|
18 | Return ReferenceEquals(This, object)
|
---|
19 | End Function
|
---|
20 |
|
---|
21 | Static Function Equals( objectA As Object, objectB As Object ) As Boolean
|
---|
22 | If ActiveBasic.IsNothing(objectA) Then
|
---|
23 | Return ActiveBasic.IsNothing(objectB)
|
---|
24 | Else
|
---|
25 | Return objectA.Equals(objectB)
|
---|
26 | End If
|
---|
27 | End Function
|
---|
28 |
|
---|
29 | ' 参照先が等しいか判断する
|
---|
30 | Static Function ReferenceEquals(objectA As Object, objectB As Object) As Boolean
|
---|
31 | Return ObjPtr(objectA) = ObjPtr(objectB)
|
---|
32 | End Function
|
---|
33 |
|
---|
34 | ' ハッシュコードを取得する
|
---|
35 | Virtual Function GetHashCode() As Long
|
---|
36 | Return ObjPtr( This ) As Long
|
---|
37 | End Function
|
---|
38 |
|
---|
39 | ' オブジェクトに関係する文字列を返す
|
---|
40 | Virtual Function ToString() As String
|
---|
41 | Return GetType().Name
|
---|
42 | End Function
|
---|
43 |
|
---|
44 | /*
|
---|
45 | Function Operator Downcast() As VoidPtr
|
---|
46 | End Function
|
---|
47 | */
|
---|
48 |
|
---|
49 |
|
---|
50 | '----------------------------------------------------------------
|
---|
51 | ' 実行時型情報
|
---|
52 | '----------------------------------------------------------------
|
---|
53 |
|
---|
54 | Private
|
---|
55 | _system_object_member_typeInfo As TypeInfo
|
---|
56 |
|
---|
57 | Public
|
---|
58 | Sub _System_SetType( typeInfo As TypeInfo )
|
---|
59 | If ActiveBasic.Core._System_TypeBase.IsReady() = False Then
|
---|
60 | Return
|
---|
61 | End If
|
---|
62 |
|
---|
63 | This._system_object_member_typeInfo = typeInfo
|
---|
64 | End Sub
|
---|
65 |
|
---|
66 | Virtual Function GetType() As TypeInfo
|
---|
67 | Return _system_object_member_typeInfo
|
---|
68 | End Function
|
---|
69 |
|
---|
70 | End Class
|
---|
71 |
|
---|
72 | End Namespace
|
---|
Note:
See
TracBrowser
for help on using the repository browser.