public ErrorCollection Validate <TDomainRule, TParameter>(TEntity entity, TParameter parameter) where TDomainRule : Rule <TEntity, TParameter> where TParameter : struct { var constructor = _objectInfo.GetConstructor(typeof(TDomainRule), typeof(TEntity)); var domainRule = _objectInfo.CreateInstance <TDomainRule>(constructor, entity); return(domainRule.Validate(parameter)); }