1
// Decompiled by Salamander version 1.0.6
2
// Copyright 2002 Remotesoft Inc. All rights reserved.
3
// http://www.remotesoft.com/salamander
4
5
using System.Reflection;
6
using System.Runtime;
7
using System.Runtime.Remoting;
8
using System.Runtime.Remoting.Messaging;
9
10
namespace System
11
{
12
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
13
[SerializableAttribute()]
14
public class Object
15
{
16
17
public Object()
18
{
19
}
20
21
// internalcall
22
private Type InternalGetType();
23
24
// internalcall
25
private Type FastGetExistingType();
26
27
public virtual string ToString()
28
{
29
return GetType().FullName;
30
}
31
32
// internalcall
33
public virtual bool Equals(object obj);
34
35
public static bool Equals(object objA, object objB)
36
{
37
if (objA == objB)
38
{
39
return true;
40
}
41
if (objA == null || objB == null)
42
{
43
return false;
44
}
45
else
46
{
47
return objA.Equals(objB);
48
}
49
}
50
51
public static bool ReferenceEquals(object objA, object objB)
52
{
53
return objA == objB;
54
}
55
56
// internalcall
57
public virtual int GetHashCode();
58
59
public Type GetType()
60
{
61
Type type = FastGetExistingType();
62
if (type == null)
63
{
64
type = InternalGetType();
65
}
66
return type;
67
}
68
69
~Object()
70
{
71
}
72
73
// internalcall
74
protected object MemberwiseClone();
75
76
private void FieldSetter(string typeName, string fieldName, object val)
77
{
78
FieldInfo fieldInfo = GetFieldInfo(typeName, fieldName);
79
if (fieldInfo.IsInitOnly)
80
{
81
throw new FieldAccessException(Environment.GetResourceString("FieldAccess_InitOnly"));
82
}
83
Message.CoerceArg(val, fieldInfo.FieldType);
84
fieldInfo.SetValue(this, val);
85
}
86
87
private void FieldGetter(string typeName, string fieldName, ref object val)
88
{
89
FieldInfo fieldInfo = GetFieldInfo(typeName, fieldName);
90
val = fieldInfo.GetValue(this);
91
}
92
93
private FieldInfo GetFieldInfo(string typeName, string fieldName)
94
{
95
Type type;
96
97
for (type = GetType(); type != null && !type.FullName.Equals(typeName); type = type.BaseType)
98
{
99
}
100
if (type == null)
101
{
102
throw new RemotingException(String.Format(Environment.GetResourceString("Remoting_BadType"), typeName));
103
}
104
FieldInfo fieldInfo = type.GetField(fieldName, 21);
105
if (fieldInfo == null)
106
{
107
throw new RemotingException(String.Format(Environment.GetResourceString("Remoting_BadField"), fieldName, typeName));
108
}
109
else
110
{
111
return fieldInfo;
112
}
113
}
114
}
115
116
}
117

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117
