/// <summary> /// Same as <see cref="ValidateAndThrow(TrackableChanges{T})"/> but also disposes the <paramref name="changes"/>. /// </summary> /// <param name="changes">A set of trackable changes (added, updated & removed)</param> public void ValidateAndDisposeIfThrown(TrackableChanges <T> changes) { try { ValidateAndThrow(changes); } catch { changes.Dispose(); throw; } }
/// <summary> /// Same as <see cref="ValidateAndThrow(TrackableChanges{T})"/> but also disposes the <paramref name="changes"/>. /// </summary> /// <param name="changes">A set of changes to trackables (added, updated and removed).</param> public void ValidateAndDisposeIfThrown(TrackableChanges <T> changes) { try { using (new ScopedProfiler("ValidateTrackableChanges")) ValidateAndThrow(changes); } catch { changes.Dispose(); throw; } }