public static void DoWork_Version4() { var firstObj = new PiContract(); var secondObj = new PiContract(); secondObj.BeginOfContract = new DateTime(2015, 1, 1); var differentiator = new Diff.Version_4.GenericComparer <PiContract>(new Diff.Version_4.BasicComparisionStrategy <PiContract>()); var differences = differentiator.GetDifferences(firstObj, secondObj).ToList(); }
public List <Diff.Version_4.MemberInformation> GetDifferencesForContracts(IEnumerable <Tuple <PiContract, PiContract> > contracts) { var differentiator = new Diff.Version_4.GenericComparer <PiContract>(new Diff.Version_4.BasicComparisionStrategy <PiContract>()); var result = new List <Diff.Version_4.MemberInformation>(); Parallel.ForEach(contracts, contractsToCompare => { var differences = differentiator.GetDifferences(contractsToCompare.Item1, contractsToCompare.Item2).ToList(); lock (lockMe) { result.AddRange(differences); } }); return(result); }
static void Main(string[] args) { var test1 = new Diff.Version_1.GenericComparer <PiContract>(); var test2 = new Diff.Version_2.GenericComparer <PiContract>(new BasicComparisionStrategy <PiContract>()); var test3 = new Diff.Version_3.GenericComparer <PiContract>(new Diff.Version_3.BasicComparisionStrategy <PiContract>()); var test4 = new Diff.Version_4.GenericComparer <PiContract>(new Diff.Version_4.BasicComparisionStrategy <PiContract>()); Console.WriteLine($"Sync/Parallel Vergleich: {ITERATIONS:N0} Iterationen"); Execute_Version1_Sync(); Execute_Version2_Sync(); Execute_Version3_Sync(); Execute_Version4_Async(); Console.ReadLine(); }