/// <summary> /// Runs validation for a given object, either as a single INonBlockingValidatableObject, /// or an IEnumerable<INonBlockingValidatableObject> if the object is enumerable. /// Does not check that object can be cast to these types; rather relies on null result /// if the cast fails, which is handled by Validate /// </summary> /// <param name="entity"></param> private void ValidateEntity(object entity) { if (entity.GetType().IsGenericEnumerable()) { _validator.Validate(entity as IEnumerable <INonBlockingValidatableObject>); } else { _validator.Validate(entity as INonBlockingValidatableObject); } }
protected void ValidateSubObject <T>(T subObject, object parentObject = null) where T : INonBlockingValidatableObject { _validator.Validate(subObject, parentObject); }