Пример #1
0
 public static RootComparer GetRootComparer()
 {
     lock (locker)
     {
         if (rootComparer == null)
         {
             rootComparer = BuildRootComparer();
         }
     }
     return(rootComparer);
 }
Пример #2
0
        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);
        }
Пример #3
0
 public StringComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Пример #4
0
 public TimespanComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Пример #5
0
 public ClassComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
     propertyComparer = new PropertyComparer(rootComparer);
 }
Пример #6
0
 public EnumerableComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
     listComparer = new ListComparer(rootComparer);
 }
Пример #7
0
 protected BaseTypeComparer(RootComparer rootComparer)
 {
     RootComparer = rootComparer;
 }
Пример #8
0
 public ListComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Пример #9
0
 public SimpleTypeComparer(RootComparer rootComparer) : base(rootComparer)
 {
 }
Пример #10
0
 public EnumeratorComparer(RootComparer comparer, CompareParms parms)
 {
     rootComparer = comparer;
     compareParms = parms;
 }
Пример #11
0
 public HashSetComparer(RootComparer rootComparer)
     : base(rootComparer)
 {
 }
Пример #12
0
 public PropertyComparer(RootComparer comparer)
 {
     rootComparer = comparer;
 }