public static ParameterValidationError Validate( object pv_objInstance, PropertyInfo pv_objPropertyInfo) { ArgumentAssert.IsGenericNotNull <object>(pv_objInstance, "pv_objInstance"); ArgumentAssert.IsGenericNotNull <PropertyInfo>(pv_objPropertyInfo, "pv_objPropertyInfo"); ParameterValidationError objResult = ParameterValidationError.CreateValid(); object objValue = null; ProcessParameterAttribute objAttribute = null; try { List <ProcessParameterAttribute> objAttributes = new List <ProcessParameterAttribute>( (ProcessParameterAttribute[]) pv_objPropertyInfo.GetCustomAttributes( typeof(ProcessParameterAttribute), false)); if (objAttributes.Count > 0) { objAttribute = objAttributes[0]; objValue = pv_objPropertyInfo.GetValue(pv_objInstance, new object[0]); if (objValue == null && objAttribute.m_blnParameterRequired) { return(ParameterValidationError.CreateNotValid(string.Format( Helpers.ResourceHelper.GetResource(CANNOT_BE_NULL_RESOURCE_ID), pv_objPropertyInfo.Name))); } if (objAttribute.m_strValidationExpression != ".*") { System.Text.RegularExpressions.Regex objRegex = new System.Text.RegularExpressions.Regex(objAttribute.m_strValidationExpression); if (!objRegex.IsMatch(objValue.ToString())) { return(ParameterValidationError.CreateNotValid(string.Format( Helpers.ResourceHelper.GetResource(DOES_NOT_MATCH_EXPRESSION_RESOURCE_ID), pv_objPropertyInfo.Name))); } } } } catch (Exception objException) { ParameterValidationError.CreateNotValid(objException.ToString()); } return(objResult); }