} // Intersection protected virtual TDisjointIntervals <DateTime> Difference(FreezeInterval other) { TDisjointIntervals <DateTime> oDiff = base.Difference(other); if (oDiff == null) { return(null); } var oResult = new TDisjointIntervals <DateTime>(); foreach (TInterval <DateTime> i in oDiff) { oResult.Add(new FreezeInterval(i as DateInterval, InterestRate)); } return(oResult); } // Difference
} // constructor protected virtual FreezeInterval Intersection(FreezeInterval other) { DateInterval oEdges = base.Intersection(other); return(oEdges == null ? null : new FreezeInterval(oEdges, InterestRate)); } // Intersection