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)); }
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); }
protected override MergerInstanceBase ExecuteInternal(MergerInstanceBase instance, MergerInstanceBase compare) { return(Resolver(new MergerInstanceTypedWrapper <TK>(instance), new MergerInstanceTypedWrapper <TK>(compare)).Instance); }
protected abstract MergerInstanceBase ExecuteInternal(MergerInstanceBase instance, MergerInstanceBase compare);