public static IRuleBuilderInitial <T, TProperty> When <T, TProperty>(this IRuleBuilderInitial <T, TProperty> rule, Func <T, bool> predicate, ApplyConditionTo applyConditionTo = ApplyConditionTo.AllValidators) { return(rule.Configure(config => { PropertyRule propertyRule = config; int num = (int)applyConditionTo; propertyRule.ApplyCondition(ctx => predicate((T)ctx.InstanceToValidate), (ApplyConditionTo)num); })); }