示例#1
0
 public MergerInstanceBase Execute(MergerCompareResult compareResult, MergerInstanceBase instance, MergerInstanceBase compare, out bool executed)
 {
     if (!Options.RunOnResults.Contains(compareResult))
     {
         executed = false;
         return(instance);
     }
     executed = true;
     return(ExecuteInternal(instance, compare));
 }
示例#2
0
 public static MergerCompareResult Evaluate(MergerInstanceBase instance, MergerInstanceBase compare)
 {
     if (Equals(instance?.Value, compare?.Value))
     {
         return(MergerCompareResult.Equal);
     }
     if ((instance != null && instance.HasValue) && (compare == null || !compare.HasValue))
     {
         return(MergerCompareResult.OnlyLeft);
     }
     if ((instance == null || !instance.HasValue) && (compare != null && compare.HasValue))
     {
         return(MergerCompareResult.OnlyRight);
     }
     return(MergerCompareResult.Different);
 }
示例#3
0
 protected override MergerInstanceBase ExecuteInternal(MergerInstanceBase instance, MergerInstanceBase compare)
 {
     return(Resolver(new MergerInstanceTypedWrapper <TK>(instance), new MergerInstanceTypedWrapper <TK>(compare)).Instance);
 }
示例#4
0
 protected abstract MergerInstanceBase ExecuteInternal(MergerInstanceBase instance, MergerInstanceBase compare);