root / trunk / Libraries / Json40r2 / Source / Src / Newtonsoft.Json.Tests / TestObjects / SerializationEventTestDictionary.cs @ d78cbf09
History | View | Annotate | Download (2.7 kB)
1 |
#region License |
---|---|
2 |
// Copyright (c) 2007 James Newton-King |
3 |
// |
4 |
// Permission is hereby granted, free of charge, to any person |
5 |
// obtaining a copy of this software and associated documentation |
6 |
// files (the "Software"), to deal in the Software without |
7 |
// restriction, including without limitation the rights to use, |
8 |
// copy, modify, merge, publish, distribute, sublicense, and/or sell |
9 |
// copies of the Software, and to permit persons to whom the |
10 |
// Software is furnished to do so, subject to the following |
11 |
// conditions: |
12 |
// |
13 |
// The above copyright notice and this permission notice shall be |
14 |
// included in all copies or substantial portions of the Software. |
15 |
// |
16 |
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
17 |
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
18 |
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
19 |
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
20 |
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
21 |
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
22 |
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
23 |
// OTHER DEALINGS IN THE SOFTWARE. |
24 |
#endregion |
25 |
|
26 |
#if !PocketPC |
27 |
using System.Collections.Generic; |
28 |
using System.Runtime.Serialization; |
29 |
|
30 |
namespace Newtonsoft.Json.Tests.TestObjects |
31 |
{ |
32 |
public class SerializationEventTestDictionary : Dictionary<decimal, string> |
33 |
{ |
34 |
// This member is serialized and deserialized with no change. |
35 |
public int Member1 { get; private set; } |
36 |
|
37 |
// The value of this field is set and reset during and |
38 |
// after serialization. |
39 |
public string Member2 { get; private set; } |
40 |
|
41 |
// This field is not serialized. The OnDeserializedAttribute |
42 |
// is used to set the member value after serialization. |
43 |
public string Member3 { get; private set; } |
44 |
|
45 |
// This field is set to null, but populated after deserialization. |
46 |
public string Member4 { get; private set; } |
47 |
|
48 |
public SerializationEventTestDictionary() |
49 |
{ |
50 |
Member1 = 11; |
51 |
Member2 = "Hello World!"; |
52 |
Member3 = "This is a nonserialized value"; |
53 |
Member4 = null; |
54 |
} |
55 |
|
56 |
[OnSerializing] |
57 |
internal void OnSerializingMethod(StreamingContext context) |
58 |
{ |
59 |
Member2 = "This value went into the data file during serialization."; |
60 |
Add(decimal.MaxValue, "Inserted on serializing"); |
61 |
} |
62 |
|
63 |
[OnSerialized] |
64 |
internal void OnSerializedMethod(StreamingContext context) |
65 |
{ |
66 |
Member2 = "This value was reset after serialization."; |
67 |
} |
68 |
|
69 |
[OnDeserializing] |
70 |
internal void OnDeserializingMethod(StreamingContext context) |
71 |
{ |
72 |
Member3 = "This value was set during deserialization"; |
73 |
} |
74 |
|
75 |
[OnDeserialized] |
76 |
internal void OnDeserializedMethod(StreamingContext context) |
77 |
{ |
78 |
Member4 = "This value was set after deserialization."; |
79 |
} |
80 |
} |
81 |
} |
82 |
#endif |