forked from nhibernate/nhibernate-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBasicSerializable.cs
66 lines (55 loc) · 1.3 KB
/
BasicSerializable.cs
1
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
using System;
namespace NHibernate.DomainModel.NHSpecific
{
/// <summary>
/// Summary description for BasicSerializable.
/// </summary>
public class BasicSerializable
{
private int _id;
private SerializableClass _serializableProperty;
private object _serial;
public BasicSerializable()
{
_serializableProperty = new SerializableClass();
_serializableProperty._classId = 5;
_serializableProperty._classString = "serialize me";
}
public int Id
{
get { return _id; }
set { _id = value; }
}
public SerializableClass SerializableProperty
{
get { return _serializableProperty; }
set { _serializableProperty = value; }
}
public object Serial
{
get { return _serial; }
set { _serial = value; }
}
}
[Serializable]
public class SerializableClass
{
public int _classId;
public string _classString;
public override int GetHashCode()
{
// not a good method, but all that is needed for this Class
// to be used by tests.
return base.GetHashCode();
}
public override bool Equals(object obj)
{
SerializableClass lhs = obj as SerializableClass;
if (lhs == null) return false;
if (this == lhs) return true;
if (this._classId.Equals(lhs._classId)
&& this._classString.Equals(lhs._classString)) return true;
return false;
}
}
}