private bool IsValid(double value)
{
ThrowIfDisposed();
return !Validating.GetInvocationList().Select(h => {
var check = new DoubleValidationEventArgs(value);
h.DynamicInvoke(new object[] { this, check });
return !check.Valid;
}).Any(failed => failed);
}