153
Console.WriteLine("\nObjects remaining to dispose = {0:d}", tracking.Count);
1
using System;
2
using System.Collections.Generic;
3
using System.Runtime.InteropServices;
4
5
// Design pattern for a base class.
6
public abstract class Base : IDisposable
7
{
8
private bool disposed = false;
9
private string instanceName;
10
private List<object> trackingList;
11
12
public Base(string instanceName, List<object> tracking)
13
{
14
this.instanceName = instanceName;
15
trackingList = tracking;
16
trackingList.Add(this);
17
}
18
19
public string InstanceName
20
{
21
get
22
{
23
return instanceName;
24
}
Cached Result
Default serialized data - unexpected empty value:
{}
With serializer options - better but not ok - for example 'datumPrvniRegistraceCR'
{
"getVozidloResponse1": [
{
"celkovaHmotnost": 0,
"celkovaHmotnostSpecified": false,
"datumPrvniRegistraceCR": "0001-01-01T00:00:00",
"datumPrvniRegistraceCRSpecified": false,
"datumPrvniRegistraceMesic": 0,
"datumPrvniRegistraceMesicSpecified": false,
"datumPrvniRegistraceRok": 0,
"datumPrvniRegistraceRokSpecified": false,
"druh": null,
"druhPaliva": null,
"druhRz": null,
"dvaRokyPrvniRegistrace": null,
"mirnePoskozeno": null,
"mpz": null,
"obchodniOznaceni": null,
"objem": 0,
"objemSpecified": false,
"pocetMistLuzek": 0,
"pocetMistLuzekSpecified": false,
"pocetMistSezeni": 0,
"pocetMistSezeniSpecified": false,
"pocetMistStani": 0,
"pocetMistStaniSpecified": false,
"rz": null,
"stavKm": 0,
"stavKmSpecified": false,
"vaznePoskozeno": null,
"vin": null,
"vtp": null,
"vykon": 0,
"vykonSpecified": false,
"zdroj": null,
"znacka": null,
"zpusobUzivani": 0
}
]
}
Newtonsoft version - winner
{
"getVozidloResponse1": [
{
"celkovaHmotnostSpecified": false,
"datumPrvniRegistraceCRSpecified": false,
"datumPrvniRegistraceMesicSpecified": false,
"datumPrvniRegistraceRokSpecified": false,
"druh": null,
"druhPaliva": null,
"druhRz": null,
"dvaRokyPrvniRegistrace": null,
"mirnePoskozeno": null,
"mpz": null,
"obchodniOznaceni": null,
"objemSpecified": false,
"pocetMistLuzekSpecified": false,
"pocetMistSezeniSpecified": false,
"pocetMistStaniSpecified": false,
"rz": null,
"stavKmSpecified": false,
"vaznePoskozeno": null,
"vin": null,
"vtp": null,
"vykonSpecified": false,
"zdroj": null,
"znacka": null,
"zpusobUzivani": 0
}
]
}
{}
With serializer options - better but not ok - for example 'datumPrvniRegistraceCR'
{
"getVozidloResponse1": [
{
"celkovaHmotnost": 0,
"celkovaHmotnostSpecified": false,
"datumPrvniRegistraceCR": "0001-01-01T00:00:00",
"datumPrvniRegistraceCRSpecified": false,
"datumPrvniRegistraceMesic": 0,
"datumPrvniRegistraceMesicSpecified": false,
"datumPrvniRegistraceRok": 0,
"datumPrvniRegistraceRokSpecified": false,
"druh": null,
"druhPaliva": null,
"druhRz": null,
"dvaRokyPrvniRegistrace": null,
"mirnePoskozeno": null,
"mpz": null,
"obchodniOznaceni": null,
"objem": 0,
"objemSpecified": false,
"pocetMistLuzek": 0,
"pocetMistLuzekSpecified": false,
"pocetMistSezeni": 0,
"pocetMistSezeniSpecified": false,
"pocetMistStani": 0,
"pocetMistStaniSpecified": false,
"rz": null,
"stavKm": 0,
"stavKmSpecified": false,
"vaznePoskozeno": null,
"vin": null,
"vtp": null,
"vykon": 0,
"vykonSpecified": false,
"zdroj": null,
"znacka": null,
"zpusobUzivani": 0
}
]
}
Newtonsoft version - winner
{
"getVozidloResponse1": [
{
"celkovaHmotnostSpecified": false,
"datumPrvniRegistraceCRSpecified": false,
"datumPrvniRegistraceMesicSpecified": false,
"datumPrvniRegistraceRokSpecified": false,
"druh": null,
"druhPaliva": null,
"druhRz": null,
"dvaRokyPrvniRegistrace": null,
"mirnePoskozeno": null,
"mpz": null,
"obchodniOznaceni": null,
"objemSpecified": false,
"pocetMistLuzekSpecified": false,
"pocetMistSezeniSpecified": false,
"pocetMistStaniSpecified": false,
"rz": null,
"stavKmSpecified": false,
"vaznePoskozeno": null,
"vin": null,
"vtp": null,
"vykonSpecified": false,
"zdroj": null,
"znacka": null,
"zpusobUzivani": 0
}
]
}