public static RootComparer GetRootComparer()
 {
     lock (locker)
     {
         if (rootComparer == null)
         {
             rootComparer = BuildRootComparer();
         }
     }
     return(rootComparer);
 }
        private static RootComparer BuildRootComparer()
        {
            rootComparer = new RootComparer();

            rootComparer.TypeComparers = new List <BaseTypeComparer>();
            rootComparer.TypeComparers.Add(new HashSetComparer(rootComparer));
            rootComparer.TypeComparers.Add(new ListComparer(rootComparer));
            rootComparer.TypeComparers.Add(new EnumComparer(rootComparer));
            rootComparer.TypeComparers.Add(new StringComparer(rootComparer));
            rootComparer.TypeComparers.Add(new SimpleTypeComparer(rootComparer));
            rootComparer.TypeComparers.Add(new TimespanComparer(rootComparer));
            rootComparer.TypeComparers.Add(new ClassComparer(rootComparer)); //類比對應該放在最後

            return(rootComparer);
        }
Esempio n. 3
0
 public StringComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Esempio n. 4
0
 public TimespanComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Esempio n. 5
0
 public ClassComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
     propertyComparer = new PropertyComparer(rootComparer);
 }
Esempio n. 6
0
 public EnumerableComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
     listComparer = new ListComparer(rootComparer);
 }
Esempio n. 7
0
 protected BaseTypeComparer(RootComparer rootComparer)
 {
     RootComparer = rootComparer;
 }
Esempio n. 8
0
 public ListComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
 public SimpleTypeComparer(RootComparer rootComparer) : base(rootComparer)
 {
 }
Esempio n. 10
0
 public EnumeratorComparer(RootComparer comparer, CompareParms parms)
 {
     rootComparer = comparer;
     compareParms = parms;
 }
Esempio n. 11
0
 public HashSetComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Esempio n. 12
0
 public PropertyComparer(RootComparer comparer)
 {
     rootComparer = comparer;
 }